CVE-2025-39910
Unknown Unknown - Not Provided
BaseFortify

Publication date: 2025-10-01

Last updated on: 2025-12-12

Assigner: kernel.org

Description
In the Linux kernel, the following vulnerability has been resolved: mm/vmalloc, mm/kasan: respect gfp mask in kasan_populate_vmalloc() kasan_populate_vmalloc() and its helpers ignore the caller's gfp_mask and always allocate memory using the hardcoded GFP_KERNEL flag. This makes them inconsistent with vmalloc(), which was recently extended to support GFP_NOFS and GFP_NOIO allocations. Page table allocations performed during shadow population also ignore the external gfp_mask. To preserve the intended semantics of GFP_NOFS and GFP_NOIO, wrap the apply_to_page_range() calls into the appropriate memalloc scope. xfs calls vmalloc with GFP_NOFS, so this bug could lead to deadlock. There was a report here https://lkml.kernel.org/r/[email protected] This patch: - Extends kasan_populate_vmalloc() and helpers to take gfp_mask; - Passes gfp_mask down to alloc_pages_bulk() and __get_free_page(); - Enforces GFP_NOFS/NOIO semantics with memalloc_*_save()/restore() around apply_to_page_range(); - Updates vmalloc.c and percpu allocator call sites accordingly.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-10-01
Last Modified
2025-12-12
Generated
2026-05-07
AI Q&A
2025-10-01
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 6 associated CPEs
Vendor Product Version / Range
linux linux_kernel From 5.17 (inc) to 6.16.8 (exc)
linux linux_kernel 6.17
linux linux_kernel 6.17
linux linux_kernel 6.17
linux linux_kernel 6.17
linux linux_kernel 6.17
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-667 The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability in the Linux kernel involves the kasan_populate_vmalloc() function and its helpers ignoring the caller's gfp_mask and always allocating memory using a hardcoded GFP_KERNEL flag. This behavior is inconsistent with vmalloc(), which supports GFP_NOFS and GFP_NOIO flags. Because of this, certain memory allocations, including page table allocations during shadow population, do not respect the intended memory allocation semantics, potentially causing issues such as deadlocks, especially in components like xfs that call vmalloc with GFP_NOFS.


How can this vulnerability impact me? :

The vulnerability can lead to deadlocks in the system, particularly because xfs calls vmalloc with GFP_NOFS, and the kasan_populate_vmalloc() function ignores this flag. This improper handling of memory allocation flags can cause the system to deadlock during memory allocation operations, potentially impacting system stability and reliability.


What immediate steps should I take to mitigate this vulnerability?

Apply the patch that extends kasan_populate_vmalloc() and its helpers to respect the caller's gfp_mask, ensuring that memory allocations use the correct GFP flags (such as GFP_NOFS and GFP_NOIO). This includes updating vmalloc.c and percpu allocator call sites accordingly to prevent deadlocks caused by improper memory allocation flags.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart