Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Fix device reference leak in host1x_device_parse_dt() error path After device_initialize(), the embedded struct device in struct host1x_device should be released through the device core with put_device(). In host1x_device_add(), if host1x_device_parse_dt() fails, the current error path frees the object directly with kfree(device). That bypasses the normal device lifetime handling and leaks the reference held on the embedded struct device. The issue was identified by a static analysis tool I developed and confirmed by manual review. Fix this by using put_device() in the host1x_device_parse_dt() failure path.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before a408d89e20d38d78f540e1951dc4c6056ad662e1; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before 4ee41361c637eafa80f5d88b46d0016e6cdb24db; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before 3642d0a45214e3b4cf61bf5e75b04b490d0b3519; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before edc7267b59a465c6ae7c5ffac2171c30962bd325; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before 4454caa204a2edb19c62754ddb96e5dbca0d2f49; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before c4d6442ac3ed00041fe4e1df715717ed78a7d37f; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before 8559b1501f77a5b5d003790bec170ca449e0c674; affected f4c5cf88fbd50e4779042268947b2e2f90c20484 before e75717f9aec04355777be41070890c6a815c76df |
| Linux / Linux | affected 4.0; unaffected 0 before 4.0; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/a408d89e20d38d78f540e1951dc4c6056ad662e1
- https://git.kernel.org/stable/c/4ee41361c637eafa80f5d88b46d0016e6cdb24db
- https://git.kernel.org/stable/c/3642d0a45214e3b4cf61bf5e75b04b490d0b3519
- https://git.kernel.org/stable/c/edc7267b59a465c6ae7c5ffac2171c30962bd325
- https://git.kernel.org/stable/c/4454caa204a2edb19c62754ddb96e5dbca0d2f49
- https://git.kernel.org/stable/c/c4d6442ac3ed00041fe4e1df715717ed78a7d37f
- https://git.kernel.org/stable/c/8559b1501f77a5b5d003790bec170ca449e0c674
- https://git.kernel.org/stable/c/e75717f9aec04355777be41070890c6a815c76df