CVE-2024-56677: powerpc/fadump: Move fadump_cma_init to setup_arch() after initmem_init()
In the Linux kernel, the following vulnerability has been resolved:
powerpc/fadump: Move fadump_cma_init to setup_arch() after initmem_init()
During early init CMA_MIN_ALIGNMENT_BYTES can be PAGE_SIZE,
since pageblock_order is still zero and it gets initialized
later during initmem_init() e.g.
setup_arch() -> initmem_init() -> sparse_init() -> set_pageblock_order()
One such use case where this causes issue is -
early_setup() -> early_init_devtree() -> fadump_reserve_mem() -> fadump_cma_init()
This causes CMA memory alignment check to be bypassed in
cma_init_reserved_mem(). Then later cma_activate_area() can hit
a VM_BUG_ON_PAGE(pfn & ((1 << order) - 1)) if the reserved memory
area was not pageblock_order aligned.
Fix it by moving the fadump_cma_init() after initmem_init(),
where other such cma reservations also gets called.
<stack trace>
==============
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10010
flags: 0x13ffff800000000(node=1|zone=0|lastcpupid=0x7ffff) CMA
raw: 013ffff800000000 5deadbeef0000100 5deadbeef0000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: VM_BUG_ON_PAGE(pfn & ((1 << order) - 1))
------------[ cut here ]------------
kernel BUG at mm/page_alloc.c:778!
Call Trace:
__free_one_page+0x57c/0x7b0 (unreliable)
free_pcppages_bulk+0x1a8/0x2c8
free_unref_page_commit+0x3d4/0x4e4
free_unref_page+0x458/0x6d0
init_cma_reserved_pageblock+0x114/0x198
cma_init_reserved_areas+0x270/0x3e0
do_one_initcall+0x80/0x2f8
kernel_init_freeable+0x33c/0x530
kernel_init+0x34/0x26c
ret_from_kernel_user_thread+0x14/0x1c
Security readout for executives and security teams
Plain-English summary
A Linux kernel initialization-order flaw can crash affected PowerPC systems during boot when firmware-assisted dump reserves improperly aligned contiguous memory. Practical exposure depends on PowerPC architecture, fadump use, and the deployed kernel build. The supplied assessment rates it CVSS 7.8 High.
Executive priority
Treat as high priority for PowerPC fleets using fadump, particularly where boot reliability or crash-dump availability is operationally critical. Schedule an urgent controlled kernel update. The supplied evidence does not justify an emergency internet-wide response because remote reachability and active exploitation are not established.
Technical view
fadump_cma_init() ran before initmem_init() established pageblock_order. This could make CMA use PAGE_SIZE alignment, bypass the intended reserved-memory alignment check, and later trigger VM_BUG_ON_PAGE during CMA activation. The fix moves fadump CMA initialization after initmem_init().
Likely exposure
Exposure appears concentrated on Linux PowerPC systems exercising the fadump CMA reservation path. The bundle identifies Linux 5.19 and several 6.x release points as affected, but distribution backports make version-only conclusions unreliable. Other architectures are not implicated by the supplied technical description.
Exploitation context
No supplied source reports active exploitation, and the bundle marks this CVE as absent from KEV. The CVSS vector describes local, low-privilege access without user interaction, but the sources do not establish a reliable attacker-controlled trigger. The demonstrated outcome is a kernel BUG and system crash.
Researcher notes
The evidence establishes an initialization-order and CMA alignment failure, plus stable-kernel fixes. It does not establish attacker control over memory alignment, exploitation beyond the documented kernel crash, or exact distribution package coverage. The affected-version data is coarse and includes commit-like entries, so assess vendor backports rather than relying solely on upstream version strings.
Mitigation direction
Apply a vendor kernel update containing the applicable stable fix.
Reboot into the updated kernel; installing a package alone does not activate it.
Prioritize PowerPC systems using firmware-assisted dump functionality.
Consult vendor guidance if patching is delayed; the supplied sources name no supported workaround.
Validation and detection
Inventory PowerPC hosts and determine whether fadump is enabled or used.
Compare running kernel packages with vendor advisories and documented backport status.
Verify the deployed kernel contains the applicable referenced stable fix.
Review boot logs for the described CMA VM_BUG_ON_PAGE failure.
After updating, test reboot behavior during an approved maintenance window.
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-2024-56677 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.
1CVSS vectors
3Timeline events
1ADP providers
7Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.