Executive brief
A memory leak was identified in the Linux kernel's AMD Versal NET DDR memory controller driver. This component is responsible for detecting and correcting data errors in system memory. While the leak is small, repeated driver initialization or removal could gradually consume system memory, potentially leading to reduced performance or system instability over long periods.
Technical details
A memory leak exists in the versalnet_edac driver within the init_one_mc() and init_versalnet() functions. The driver allocates memory for a device name using kzalloc() and assigns it to dev->init_name. However, the device_register() function copies this string and sets the pointer to NULL, making the original allocation unreachable and preventing it from being freed during the normal removal path. An attacker with local access could potentially trigger this leak repeatedly to cause memory exhaustion, though the impact is primarily a reliability issue. The fix replaces the dynamic allocation with a stack-local character array.
Affected products
- Linux Linux Kernel AMD Versal NET DDR controller driver (versalnet_edac.c)
Timeline
- 2026-05-28: advisory: NVD publication date
- 2026-05-28: disclosed: Public disclosure of the kernel fix