Executive brief
A memory leak was identified in the Linux kernel's I3C master driver. This occurs when the system fails to resume power management during data transfers, causing small amounts of system memory to remain occupied and unavailable. Over time, repeated failures could lead to reduced system performance or instability, though it typically requires specific hardware error conditions to trigger.
Technical details
A memory leak exists in the dw_i3c_master_i2c_xfers() function within drivers/i3c/master/dw-i3c-master.c. The function allocates memory for a transfer structure (xfer) using dw_i3c_master_alloc_xfer(), but fails to release this memory if a subsequent call to pm_runtime_resume_and_get() returns an error. An attacker or a failing hardware state could potentially trigger this error path, leading to kernel memory exhaustion. The fix introduces a call to dw_i3c_master_free_xfer() in the error handling path to ensure allocated resources are reclaimed.
Affected products
- Linux Linux Kernel Fixed in 140a45bd4f6db7d1b30cab967d29689b946c52fa, 2537089413514caaa9a5fdeeac3a34d45100f747, 8e71414e252c1cb235911008a98fd47927d3a55c, a2c41467ef42f69a3958493a0395ba75174710dc
Timeline
- 2026-01-26: other: Patch submitted by author
- 2026-05-27: disclosed: CVE published