-----Original Message----- From: Intel-wired-lan intel-wired-lan-bounces@osuosl.org On Behalf Of Xiaomeng Tong Sent: Sunday, March 27, 2022 12:06 PM To: Brandeburg, Jesse jesse.brandeburg@intel.com Cc: pabeni@redhat.com; intel-wired-lan@lists.osuosl.org; linux- kernel@vger.kernel.org; stable@vger.kernel.org; Xiaomeng Tong xiam0nd.tong@gmail.com; jeffrey.t.kirsher@intel.com; netdev@vger.kernel.org; kuba@kernel.org; davem@davemloft.net Subject: [Intel-wired-lan] [PATCH] i40e: i40e_main: fix a missing check on list iterator
The bug is here: ret = i40e_add_macvlan_filter(hw, ch->seid, vdev->dev_addr, &aq_err);
The list iterator 'ch' will point to a bogus position containing HEAD if the list is empty or no element is found. This case must be checked before any use of the iterator, otherwise it will lead to a invalid memory access.
To fix this bug, use a new variable 'iter' as the list iterator, while use the origin variable 'ch' as a dedicated pointer to point to the found element.
Cc: stable@vger.kernel.org Fixes: 1d8d80b4e4ff6 ("i40e: Add macvlan support on i40e") Signed-off-by: Xiaomeng Tong xiam0nd.tong@gmail.com
drivers/net/ethernet/intel/i40e/i40e_main.c | 27 +++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-)
Tested-by: Gurucharan gurucharanx.g@intel.com (A Contingent worker at Intel)