i40e: i40e_main: fix a missing check on list iterator
stable inclusion from stable-v5.10.117 commit 6158df4fa5c263dcb4fa52d6b3894f35bae071a8 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I5L66B Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6158df4fa5c263dcb4fa52d6b3894f35bae071a8 -------------------------------- commit 3f95a747 upstream. 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: 1d8d80b4 ("i40e: Add macvlan support on i40e") Signed-off-by:Xiaomeng Tong <xiam0nd.tong@gmail.com> Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel) Signed-off-by:
Tony Nguyen <anthony.l.nguyen@intel.com> Link: https://lore.kernel.org/r/20220510204846.2166999-1-anthony.l.nguyen@intel.com Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com> Acked-by:
Xie XiuQi <xiexiuqi@huawei.com>
Loading
Please sign in to comment