Linux Kernel AMD GPU Memory Management Vulnerability

Vulnerability

A memory management vulnerability has been identified in the Linux kernel's AMD GPU driver. The issue arises in the 'amdgpu_gmc_get_nps_memranges()' function, which allocates memory using 'kvcalloc()'. This allocation method can lead to memory corruption if 'kfree()' is used to release memory allocated by 'vmalloc()', particularly for large allocations. The vulnerability has been addressed by changing the deallocation method to 'kvfree()', which correctly handles memory allocated by both 'kmalloc' and 'vmalloc'. This issue was discovered through static analysis and code review.

Impact

The vulnerability could lead to memory corruption, potentially causing instability or unexpected behavior in the system.

Reproduction

The vulnerability can be reproduced by compiling the Linux kernel with the AMD GPU driver. The 'amdgpu_gmc_get_nps_memranges()' function will allocate memory using 'kvcalloc()', which may involve 'vmalloc()' for larger allocations. If this memory is then freed with 'kfree()', it will result in corruption.

Remediation

Users can apply the latest patches available in the Linux kernel stable tree to address this vulnerability.

Added: May 28, 2026, 2:32 AM
Updated: May 28, 2026, 2:32 AM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
3.1
exploitability
4.3
remediation
7.7
relevance
9.4
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.