> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of > Xiaomeng Tong > Sent: Sunday, March 27, 2022 12:06 PM > To: Brandeburg, Jesse <jesse.brandeburg@xxxxxxxxx> > Cc: pabeni@xxxxxxxxxx; intel-wired-lan@xxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; Xiaomeng Tong > <xiam0nd.tong@xxxxxxxxx>; jeffrey.t.kirsher@xxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; kuba@xxxxxxxxxx; davem@xxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxx > Fixes: 1d8d80b4e4ff6 ("i40e: Add macvlan support on i40e") > Signed-off-by: Xiaomeng Tong <xiam0nd.tong@xxxxxxxxx> > --- > drivers/net/ethernet/intel/i40e/i40e_main.c | 27 +++++++++++---------- > 1 file changed, 14 insertions(+), 13 deletions(-) > Tested-by: Gurucharan <gurucharanx.g@xxxxxxxxx> (A Contingent worker at Intel)