CVE-2022-50850
Description
In the Linux kernel, the following vulnerability has been resolved:
scsi: ipr: Fix WARNING in ipr_init()
ipr_init() will not call unregister_reboot_notifier() when pci_register_driver() fails, which causes a WARNING. Call unregister_reboot_notifier() when pci_register_driver() fails.
notifier callback ipr_halt [ipr] already registered WARNING: CPU: 3 PID: 299 at kernel/notifier.c:29 notifier_chain_register+0x16d/0x230 Modules linked in: ipr(+) xhci_pci_renesas xhci_hcd ehci_hcd usbcore led_class gpu_sched drm_buddy video wmi drm_ttm_helper ttm drm_display_helper drm_kms_helper drm drm_panel_orientation_quirks agpgart cfbft CPU: 3 PID: 299 Comm: modprobe Tainted: G W 6.1.0-rc1-00190-g39508d23b672-dirty #332 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 04/01/2014 RIP: 0010:notifier_chain_register+0x16d/0x230 Call Trace:
__blocking_notifier_chain_register+0x73/0xb0 ipr_init+0x30/0x1000 [ipr] do_one_initcall+0xdb/0x480 do_init_module+0x1cf/0x680 load_module+0x6a50/0x70a0 __do_sys_finit_module+0x12f/0x1c0 do_syscall_64+0x3f/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In the Linux kernel's ipr driver, failure to unregister a reboot notifier on PCI registration error causes a WARNING and potential double-registration.
Vulnerability
Overview
In the Linux kernel, the ipr_init() function in the SCSI IPR driver fails to call unregister_reboot_notifier() when pci_register_driver() returns an error. This omission can lead to a kernel WARNING because the notifier callback ipr_halt is registered a second time if the module is loaded again or if initialization is retried [1][2]. The WARNING message 'notifier callback ipr_halt [ipr] already registered' is emitted by the kernel's notifier chain code when a notifier_chain_register() detects an already-registered callback [3].
Exploitation
Conditions
Triggering this issue requires a system where the ipr driver module is loaded and pci_register_driver() fails—for example, for example due to hardware not being present or resource exhaustion. The attacker must be able to load the kernel module (requires root privileges or the ability to trigger module loading). A non-malicious scenario is more common: a system administrator attempting to load the module on hardware without supported adapters, or when PCI resources are unavailable.
Impact
The primary impact is a kernel WARNING, which can cause system log spam and might be leveraged to destabilize the system if combined with other bugs. In a worst-case scenario, the double-registered notifier could lead to a panic or crash when the notifier is called during reboot, though the immediate symptom is a WARNING. The CVE does not indicate code execution or privilege escalation, but the WARNING can be disruptive.
Mitigation
The fix was merged into the Linux kernel stable branches, backported to version 6.1 and earlier [4]. The commit adds the missing unregister_reboot_notifier() call in the error path of ipr_init(). Affected users should update their kernel to a version containing the fix or apply the patch manually.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
9020b66023712e965c4a60c1d5debd337f534eccbec017c95f4ba143b04a1e59da172059f8c739021b2024399a8632e5fe6f108bffc37Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- git.kernel.org/stable/c/020b66023712b1cc42c6ab8b76e4ec13efe4a092nvd
- git.kernel.org/stable/c/4399a8632e5f8f1f695d91d992c7d418fb451f07nvd
- git.kernel.org/stable/c/5debd337f534b122f7c5eac6557a41b5636c9b51nvd
- git.kernel.org/stable/c/8c739021b2022fbc40f71d3fa2e9162beef0c84anvd
- git.kernel.org/stable/c/e59da172059f05c594fda03a9e8a3a0e1f5116c0nvd
- git.kernel.org/stable/c/e6f108bffc3708ddcff72324f7d40dfcd0204894nvd
- git.kernel.org/stable/c/e965c4a60c1daa6e24355e35d78ca8e9f195196fnvd
- git.kernel.org/stable/c/eccbec017c95b9b9ecd4c05c6f5234d1487c72ccnvd
- git.kernel.org/stable/c/f4ba143b04a17559f2c85e18b47db117f40d8cf3nvd
News mentions
0No linked articles in our index yet.