Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: spi: spi-sprd-adi: Fix double free in probe error path The driver currently uses spi_alloc_host() to allocate the controller but registers it using devm_spi_register_controller(). If devm_register_restart_handler() fails, the code jumps to the put_ctlr label and calls spi_controller_put(). However, since the controller was registered via a devm function, the device core will automatically call spi_controller_put() again when the probe fails. This results in a double-free of the spi_controller structure. Fix this by switching to devm_spi_alloc_host() and removing the manual spi_controller_put() call.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ac1775012058e13ef1522938e27f5973d9e3f053 before bddd3d10d039729b81cfb0804520c8832a701a0e; affected ac1775012058e13ef1522938e27f5973d9e3f053 before 417cdfd9b9f986e95bfcb1d68eb443e6e0a15f8c; affected ac1775012058e13ef1522938e27f5973d9e3f053 before 346775f2b4cf839177e8e86b94aa180a06dc15b0; affected ac1775012058e13ef1522938e27f5973d9e3f053 before f6d6b3f172df118db582fe5ec43ae223a55d99cf; affected ac1775012058e13ef1522938e27f5973d9e3f053 before 383d4f5cffcc8df930d95b06518a9d25a6d74aac |
| Linux / Linux | affected 4.17; unaffected 0 before 4.17; unaffected 6.1.162 through 6.1.*; unaffected 6.6.122 through 6.6.*; unaffected 6.12.68 through 6.12.*; unaffected 6.18.8 through 6.18.*; unaffected 6.19 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/bddd3d10d039729b81cfb0804520c8832a701a0e
- https://git.kernel.org/stable/c/417cdfd9b9f986e95bfcb1d68eb443e6e0a15f8c
- https://git.kernel.org/stable/c/346775f2b4cf839177e8e86b94aa180a06dc15b0
- https://git.kernel.org/stable/c/f6d6b3f172df118db582fe5ec43ae223a55d99cf
- https://git.kernel.org/stable/c/383d4f5cffcc8df930d95b06518a9d25a6d74aac