dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.199, 6.1.162, 6.6.122, 6.12.67, 6.18.7
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() Fix a memory leak in gpi_peripheral_config() where the original memory pointed to by gchan->config could be lost if krealloc() fails. The issue occurs when: 1. gchan->config points to previously allocated memory 2. krealloc() fails and returns NULL 3. The function directly assigns NULL to gchan->config, losing the reference to the original memory 4. The original memory becomes unreachable and cannot be freed Fix this by using a temporary variable to hold the krealloc() result and only updating gchan->config when the allocation succeeds. Found via static analysis and code review.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 4532f18e4ab36def1f55cd936d0fc002b2ce34c2; From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 694ab1f6f16cb69f7c5ef2452b22ba7b00a3c7c7; From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 6bf4ef078fd11910988889a6c0b3698d2e0c89af; From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 01b1d781394fc9b83015e3a3cd46b17bda842bd8; From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 55a67ba5ac4cebfd54cc8305d4d57a0f1dfe6a85; From 5d0c3533a19f48e5e7e73806a3e4b29cd4364130 · fixed in 3f747004bbd641131d9396d87b5d2d3d1e182728
- Linux Linux
5.11
- KernelLinux
From 5.11.0 · fixed in 5.15.199; From 5.16.0 · fixed in 6.1.162; From 6.2.0 · fixed in 6.6.122; From 6.7.0 · fixed in 6.12.67; From 6.13.0 · fixed in 6.18.7