CVE-2026-72240
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
mfd: sm501: Fix reference leak on failed device registration
When platform_device_register() fails in sm501_register_device(), the embedded struct device in pdev has already been initialized by device_initialize(), but the failure path only reports the error and returns without dropping the device reference for the current platform device:
sm501_register_device() -> platform_device_register(pdev) -> device_initialize(&pdev->dev) -> setup_pdev_dma_masks(pdev) -> platform_device_add(pdev)
This leads to a reference leak when platform_device_register() fails. Fix this by calling platform_device_put() before returning the error.
The issue was identified by a static analysis tool I developed and confirmed by manual review.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < bbb1ecaed4ed7680e63d3a0f143f03de32de5d6e | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < e2dac91380a10e9e8d5883fb73ce9d9b390a629c | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 0baf9d43a7b7b43df2900bd8656e75b725028b6e | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < a3e340d506c1036a747fb0972aebf1063f7ef30e | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 760a1029692f1d788dc11aa636a3bf432e58b240 | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 16a42c88c4667fa0bd944e438a667e059551f1f1 | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 2ff8156fd500d54c61430b6834137fd0a07047ce | affected |
| Linux | Linux | b6d6454fdb66f3829af8b92ab06825b6060fdf7e < 8c2f0b42fc252e1bf1c7746447091a468e784ca1 | affected |
| Linux | Linux | 2.6.21 | affected |
| Linux | Linux | 0 < 2.6.21 | unaffected |
| Linux | Linux | 5.10.261 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.212 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.178 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.145 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.97 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/bbb1ecaed4ed7680e63d3a0f143f03de32de5d6e
- https://git.kernel.org/stable/c/e2dac91380a10e9e8d5883fb73ce9d9b390a629c
- https://git.kernel.org/stable/c/0baf9d43a7b7b43df2900bd8656e75b725028b6e
- https://git.kernel.org/stable/c/a3e340d506c1036a747fb0972aebf1063f7ef30e
- https://git.kernel.org/stable/c/760a1029692f1d788dc11aa636a3bf432e58b240
- https://git.kernel.org/stable/c/16a42c88c4667fa0bd944e438a667e059551f1f1
- https://git.kernel.org/stable/c/2ff8156fd500d54c61430b6834137fd0a07047ce
- https://git.kernel.org/stable/c/8c2f0b42fc252e1bf1c7746447091a468e784ca1
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.