From da3e5f66631dbde093c73ab5a3e2eccd308041a0 Mon Sep 17 00:00:00 2001 From: Yuan Can Date: Sun, 26 Jan 2025 15:36:00 +0800 Subject: [PATCH] igb: Fix potential invalid memory access in igb_init_module() stable inclusion from stable-v6.6.66 commit f309733a8c9da7d4266a8a3755020b738a570cae category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBJCGB CVE: CVE-2024-52332 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f309733a8c9da7d4266a8a3755020b738a570cae -------------------------------- [ Upstream commit 0566f83d206c7a864abcd741fe39d6e0ae5eef29 ] 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 Tested-by: Pucha Himasekhar Reddy (A Contingent worker at Intel) Signed-off-by: Tony Nguyen Signed-off-by: Sasha Levin Signed-off-by: ZhangPeng Signed-off-by: dinglongwei --- drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 49b349fa2254..c38be2880efc 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -665,6 +665,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; } -- Gitee