Message ID | 20241023121048.26905-1-yuancan@huawei.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2] igb: Fix potential invalid memory access in igb_init_module() | expand |
On Wed, Oct 23, 2024 at 08:10:48PM +0800, Yuan Can wrote: > The pci_register_driver() can fail and when this happened, the dca_notifier > needs to be unregistered, otherwise the dca_notifier can be called when > igb fails to install, resulting to invalid memory access. > > Fixes: bbd98fe48a43 ("igb: Fix DCA errors and do not use context index for 82576") > Signed-off-by: Yuan Can <yuancan@huawei.com> > --- > Changes since v1: > - Change fix tag to bbd98fe48a43. > - Change target branch to net. Thanks for the updates. Reviewed-by: Simon Horman <horms@kernel.org>
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Yuan Can > Sent: 23 October 2024 17:41 > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; andrew+netdev@lunn.ch; davem@davemloft.net; edumazet@google.com; kuba@kernel.org; pabeni@redhat.com; alexander.h.duyck@intel.com; intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org > Cc: yuancan@huawei.com > Subject: [Intel-wired-lan] [PATCH net v2] igb: Fix potential invalid memory access in igb_init_module() > > The pci_register_driver() can fail and when this happened, the dca_notifier needs to be unregistered, otherwise the dca_notifier can be called when igb fails to install, resulting to invalid memory access. > > Fixes: bbd98fe48a43 ("igb: Fix DCA errors and do not use context index for 82576") > Signed-off-by: Yuan Can <yuancan@huawei.com> > --- > Changes since v1: > - Change fix tag to bbd98fe48a43. > - Change target branch to net. > --- > drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++ > 1 file changed, 4 insertions(+) > Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index f1d088168723..18284a838e24 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -637,6 +637,10 @@ static int __init igb_init_module(void) dca_register_notify(&dca_notifier); #endif ret = pci_register_driver(&igb_driver); +#ifdef CONFIG_IGB_DCA + if (ret) + dca_unregister_notify(&dca_notifier); +#endif return ret; }
The pci_register_driver() can fail and when this happened, the dca_notifier needs to be unregistered, otherwise the dca_notifier can be called when igb fails to install, resulting to invalid memory access. Fixes: bbd98fe48a43 ("igb: Fix DCA errors and do not use context index for 82576") Signed-off-by: Yuan Can <yuancan@huawei.com> --- Changes since v1: - Change fix tag to bbd98fe48a43. - Change target branch to net. --- drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++ 1 file changed, 4 insertions(+)