OSDN Git Service

ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler
authorDave Ertman <david.m.ertman@intel.com>
Tue, 18 Jan 2022 21:08:20 +0000 (13:08 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Thu, 10 Feb 2022 16:47:26 +0000 (08:47 -0800)
commitbea1898f65b9b7096cb4e73e97c83b94718f1fa1
tree286f80f6670b6ffe2c1874137cc26c1087122199
parent46b699c50c0304cdbd725d7740073a7f9d5edb10
ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler

Currently, the same handler is called for both a NETDEV_BONDING_INFO
LAG unlink notification as for a NETDEV_UNREGISTER call.  This is
causing a problem though, since the netdev_notifier_info passed has
a different structure depending on which event is passed.  The problem
manifests as a call trace from a BUG: KASAN stack-out-of-bounds error.

Fix this by creating a handler specific to NETDEV_UNREGISTER that only
is passed valid elements in the netdev_notifier_info struct for the
NETDEV_UNREGISTER event.

Also included is the removal of an unbalanced dev_put on the peer_netdev
and related braces.

Fixes: 6a8b357278f5 ("ice: Respond to a NETDEV_UNREGISTER event for LAG")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Acked-by: Jonathan Toppins <jtoppins@redhat.com>
Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_lag.c