net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk()
mainline inclusion from mainline-v5.16-rc3 commit 587acad4 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9S242 CVE: CVE-2021-47559 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=587acad41f1bc48e16f42bb2aca63bf323380be8 -------------------------------- Coverity reports a possible NULL dereferencing problem: in smc_vlan_by_tcpsk(): 6. returned_null: netdev_lower_get_next returns NULL (checked 29 out of 30 times). 7. var_assigned: Assigning: ndev = NULL return value from netdev_lower_get_next. 1623 ndev = (struct net_device *)netdev_lower_get_next(ndev, &lower); CID 1468509 (#1 of 1): Dereference null return value (NULL_RETURNS) 8. dereference: Dereferencing a pointer that might be NULL ndev when calling is_vlan_dev. 1624 if (is_vlan_dev(ndev)) { Remove the manual implementation and use netdev_walk_all_lower_dev() to iterate over the lower devices. While on it remove an obsolete function parameter comment. Fixes: cb9d43f6 ("net/smc: determine vlan_id of stacked net_device") Suggested-by:Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by:
Karsten Graul <kgraul@linux.ibm.com> Signed-off-by:
Jakub Kicinski <kuba@kernel.org> Conflicts: net/smc/smc_core.c [The conflict occurs because the commit eff74233("net: core: introduce struct netdev_nested_priv for nested interface infrastructure") and bc36d2fc("net/smc: consolidate function parameters") are not merged] Signed-off-by:
Zhengchao Shao <shaozhengchao@huawei.com>
Loading
Please sign in to comment