Answer in brief
CVE-2022-50045 records a Medium severity (CVSS 5.5) vulnerability in powerpc/pci: Fix get_phb_number() locking. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 5.5. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Product | Affected versions | Fixed versions |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | Not reported | Not reported |
| cpe:2.3:o:linux:linux_kernel:5.10.137:*:*:*:*:*:*:* | Not reported | Not reported |
| cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:* | Not reported | Not reported |
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=a79e4395619c926ea7e828b2023c0fbe2776385b <6f75057c21eab12c6ccb7f06f859641a6edfab99 || >=205826dcac3271ab04fb97d66f1b4f8219723259 <5db5ce0f1963c6c8275719a80cb65e9c98d32726 || >=3ec50b8a0128359ff4ad4061a75c3322d0ab6ac9 <ccb0a42d3f40c436295e0fef57ab613ae5b925a4 || >=47a8fe1b154aa6d836582365b1c70684af8597e4 <a868f771ee41c97a25a04b8c632a7f06689b307b || >=ef0f4eeaba2463a77ac5a4e42c30717deb3c7b62 <1d9e75c3d8cdf7c96a94cb77450d4ee070279e6a || >=f35c7f506fb96a23a1961c7314c5931ec8bc473e <90f195c01a2e8d8da6281791617e21109719c981 || >=0fe1e96fef0a5c53b4c0d1500d356f3906000f81 <8d48562a2729742f767b0fdd994d6b2a56a49c63 || e0274da3ac318296fed503422ccda98ce67e99cb || >=5.18.18 <5.19 | 6f75057c21eab12c6ccb7f06f859641a6edfab99, 5db5ce0f1963c6c8275719a80cb65e9c98d32726, ccb0a42d3f40c436295e0fef57ab613ae5b925a4, a868f771ee41c97a25a04b8c632a7f06689b307b, 1d9e75c3d8cdf7c96a94cb77450d4ee070279e6a, 90f195c01a2e8d8da6281791617e21109719c981, 8d48562a2729742f767b0fdd994d6b2a56a49c63, 5.19 |
| Linux/Linuxgeneric | >=5.10.137 <5.10.138 || >=5.15.61 <5.15.63 || >=5.19.2 <5.19.4 | 5.10.138, 5.15.63, 5.19.4 |
Published upstream
Jun 18, 2025
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Nov 5, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Nov 5, 2026
In the Linux kernel, the following vulnerability has been resolved: powerpc/pci: Fix get_phb_number() locking The recent change to get_phb_number() causes a DEBUG_ATOMIC_SLEEP warning on some systems: BUG: sleeping function called from invalid context at kernel/locking/mutex.c:580 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 1 lock held by swapper/1: #0: c157efb0 (hose_spinlock){+.+.}-{2:2}, at: pcibios_alloc_controller+0x64/0x220 Preemption disabled at: [<00000000>] 0x0 CPU: 0 PID: 1 Comm: swapper Not tainted 5.19.0-yocto-standard+ #1 Call Trace: [d101dc90] [c073b264] dump_stack_lvl+0x50/0x8c (unreliable) [d101dcb0] [c0093b70] __might_resched+0x258/0x2a8 [d101dcd0] [c0d3e634] __mutex_lock+0x6c/0x6ec [d101dd50] [c0a84174] of_alias_get_id+0x50/0xf4 [d101dd80] [c002ec78] pcibios_alloc_controller+0x1b8/0x220 [d101ddd0] [c140c9dc] pmac_pci_init+0x198/0x784 [d101de50] [c140852c] discover_phbs+0x30/0x4c [d101de60] [c0007fd4] do_one_initcall+0x94/0x344 [d101ded0] [c1403b40] kernel_init_freeable+0x1a8/0x22c [d101df10] [c00086e0] kernel_init+0x34/0x160 [d101df30] [c001b334] ret_from_kernel_thread+0x5c/0x64 This is because pcibios_alloc_controller() holds hose_spinlock but of_alias_get_id() takes of_mutex which can sleep. The hose_spinlock protects the phb_bitmap, and also the hose_list, but it doesn't need to be held while get_phb_number() calls the OF routines, because those are only looking up information in the device tree. So fix it by having get_phb_number() take the hose_spinlock itself, only where required, and then dropping the lock before returning. pcibios_alloc_controller() then needs to take the lock again before the list_add() but that's safe, the order of the list is not important.
Quoted source text, attributed separately from HOL analysis.