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.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel PowerPC PCI locking defect that can trigger a kernel warning during early PCI controller initialization. The source bundle does not show remote attack, privilege escalation, CVSS, or active exploitation. Business urgency is mainly for organizations running Linux on PowerPC hardware or appliances.
Executive priority
Treat as targeted maintenance unless your estate includes PowerPC Linux systems. It does not currently justify emergency response from the provided evidence, but kernel owners should confirm whether vendor packages include the stable fix.
Technical view
get_phb_number() could call Open Firmware routines that may sleep while pcibios_alloc_controller() held hose_spinlock. The fix narrows hose_spinlock coverage to phb_bitmap/list operations and releases it before device-tree lookup. Evidence points to PowerPC PCI initialization, not a broad userspace-facing bug.
Likely exposure
Exposure appears limited to Linux systems using the PowerPC PCI code path. The affected-version metadata is incomplete and lists commits and stable versions without a clear vulnerable range. Standard x86 cloud or workstation Linux deployments are not indicated as exposed by the provided sources.
Exploitation context
The bundle says KEV is false and provides no cited evidence of exploitation. The described impact is a DEBUG_ATOMIC_SLEEP warning from invalid sleep context during initialization. No exploit primitive, attacker access requirement, or user-triggerable path is documented in the supplied material.
Researcher notes
The source is a kernel locking correction, not a fully characterized vulnerability advisory. Missing data includes CVSS, CWE, precise affected ranges, attack preconditions, and security impact. Analysis should stay tied to PowerPC PCI initialization and the referenced stable commits.
Mitigation direction
Check vendor or distribution kernel guidance for CVE-2022-50045.
Apply kernel updates containing the referenced stable locking fix.
Prioritize PowerPC Linux systems with PCI host bridge initialization.
Avoid assuming exposure on non-PowerPC systems without vendor confirmation.
Track vendor package mappings because exact vulnerable ranges are unclear.
Validation and detection
Inventory Linux systems by architecture and kernel version.
Identify PowerPC deployments using PCI host bridge initialization.
Review boot logs for DEBUG_ATOMIC_SLEEP around pcibios_alloc_controller or get_phb_number.
Map running kernels to vendor advisories or referenced stable commits.
Confirm remediation through kernel package changelogs or source commit presence.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2022-50045 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Jun 18, 2025, 11:01 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.