LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50045: powerpc/pci: Fix get_phb_number() locking

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.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysisunknown

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.
Prepared
Confidence
medium
Sources
9

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.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxa79e4395619c926ea7e828b2023c0fbe2776385b, 205826dcac3271ab04fb97d66f1b4f8219723259, 3ec50b8a0128359ff4ad4061a75c3322d0ab6ac9, 47a8fe1b154aa6d836582365b1c70684af8597e4, ef0f4eeaba2463a77ac5a4e42c30717deb3c7b62, f35c7f506fb96a23a1961c7314c5931ec8bc473e, 0fe1e96fef0a5c53b4c0d1500d356f3906000f81, e0274da3ac318296fed503422ccda98ce67e99cbunaffected
LinuxLinux5.10.137, 5.15.61, 5.19.2unaffected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.