• Jacob Keller's avatar
    iavf: prevent accidental free of filter structure · 4f040080
    Jacob Keller authored
    In iavf_config_clsflower, the filter structure could be accidentally
    released at the end, if iavf_parse_cls_flower or iavf_handle_tclass ever
    return a non-zero but positive value.
    
    In this case, the function continues through to the end, and will call
    kfree() on the filter structure even though it has been added to the
    linked list.
    
    This can actually happen because iavf_parse_cls_flower will return
    a positive IAVF_ERR_CONFIG value instead of the traditional negative
    error codes.
    
    Fix this by ensuring that the kfree() check and error checks are
    similar. Use the more idiomatic "if (err)" to catch all non-zero error
    codes.
    
    Fixes: 0075fa0f ("i40evf: Add support to apply cloud filters")
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarTony Brelinski <tony.brelinski@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    4f040080
iavf_main.c 110 KB