Bug 2297532 (CVE-2024-40948) - CVE-2024-40948 kernel: mm/page_table_check: fix crash on ZONE_DEVICE
Summary: CVE-2024-40948 kernel: mm/page_table_check: fix crash on ZONE_DEVICE
Keywords:
Status: NEW
Alias: CVE-2024-40948
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-12 13:38 UTC by OSIDB Bzimport
Modified: 2024-07-29 11:16 UTC (History)
4 users (show)

Fixed In Version: kernel 6.1.96, kernel 6.6.36, kernel 6.9.7, kernel 6.10-rc5
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-07-12 13:38:28 UTC
In the Linux kernel, the following vulnerability has been resolved:

mm/page_table_check: fix crash on ZONE_DEVICE

Not all pages may apply to pgtable check.  One example is ZONE_DEVICE
pages: they map PFNs directly, and they don't allocate page_ext at all
even if there's struct page around.  One may reference
devm_memremap_pages().

When both ZONE_DEVICE and page-table-check enabled, then try to map some
dax memories, one can trigger kernel bug constantly now when the kernel
was trying to inject some pfn maps on the dax device:

 kernel BUG at mm/page_table_check.c:55!

While it's pretty legal to use set_pxx_at() for ZONE_DEVICE pages for page
fault resolutions, skip all the checks if page_ext doesn't even exist in
pgtable checker, which applies to ZONE_DEVICE but maybe more.


Note You need to log in before you can comment on or make changes to this bug.