Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ac1775012058e13ef1522938e27f5973d9e3f053 to < bddd3d10d039729b81cfb0804520c8832a701a0eaffectedac1775012058e13ef1522938e27f5973d9e3f053 to < 417cdfd9b9f986e95bfcb1d68eb443e6e0a15f8caffectedac1775012058e13ef1522938e27f5973d9e3f053 to < 346775f2b4cf839177e8e86b94aa180a06dc15b0affectedac1775012058e13ef1522938e27f5973d9e3f053 to < f6d6b3f172df118db582fe5ec43ae223a55d99cfaffectedac1775012058e13ef1522938e27f5973d9e3f053 to < 383d4f5cffcc8df930d95b06518a9d25a6d74aacaffected
Linux Linux
Default version status: affected
4.17affected0 to < 4.17unaffected6.1.162 to ≤ 6.1.*unaffected6.6.122 to ≤ 6.6.*unaffected6.12.68 to ≤ 6.12.*unaffected6.18.8 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
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 ↗