FAILED: patch "[PATCH] ice: Fix for dereference of NULL pointer" failed to apply to 4.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 7a91d3f02b04b2fb18c2dfa8b6c4e5a40a2753f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jacek=20Bu=C5=82atek?= <[email protected]>
Date: Fri, 26 Feb 2021 13:19:29 -0800
Subject: [PATCH] ice: Fix for dereference of NULL pointer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add handling of allocation fault for ice_vsi_list_map_info.
Also *fi should not be NULL pointer, it is a reference to raw data field, so remove this variable and use the reference directly.
drivers/net/ethernet/intel/ice/ice_switch.c +7 -5
@@ -1238,6 +1238,9 @@ ice_add_update_vsi_list(struct ice_hw *hw,ice_create_vsi_list_map (hw, &vsi_handle_arr[0 ],2 , vsi_list_id); +if (!m_entry->vsi_list_info) +return ICE_ERR_NO_MEMORY ; +/* If this entry was large action then the large action needs * to be updated to point to FWD to VSI list */
@@ -2220,6 +2223,7 @@ ice_vsi_uses_fltr(struct ice_fltr_mgmt_list_entry *fm_entry, u16 vsi_handle)return ((fm_entry->fltr_info.fltr_act ==ICE_FWD_TO_VSI && fm_entry->fltr_info.vsi_handle == vsi_handle) || (fm_entry->fltr_info.fltr_act ==ICE_FWD_TO_VSI_LIST && + fm_entry->vsi_list_info && (test_bit (vsi_handle, fm_entry->vsi_list_info->vsi_map)))); }
@@ -2292,14 +2296,12 @@ ice_add_to_vsi_fltr_list(struct ice_hw *hw, u16 vsi_handle,return ICE_ERR_PARAM ;list_for_each_entry (fm_entry, lkup_list_head, list_entry) { -struct ice_fltr_info *fi; - - fi = &fm_entry->fltr_info; -if (!fi || !ice_vsi_uses_fltr (fm_entry, vsi_handle)) +if (!ice_vsi_uses_fltr (fm_entry, vsi_handle))continue ; status =ice_add_entry_to_vsi_fltr_list (hw, vsi_handle, - vsi_list_head, fi); + vsi_list_head, + &fm_entry->fltr_info);if (status)return status; }