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.
Product status
ac1775012058e13ef1522938e27f5973d9e3f053 (git) before bddd3d10d039729b81cfb0804520c8832a701a0e
ac1775012058e13ef1522938e27f5973d9e3f053 (git) before 417cdfd9b9f986e95bfcb1d68eb443e6e0a15f8c
ac1775012058e13ef1522938e27f5973d9e3f053 (git) before 346775f2b4cf839177e8e86b94aa180a06dc15b0
ac1775012058e13ef1522938e27f5973d9e3f053 (git) before f6d6b3f172df118db582fe5ec43ae223a55d99cf
ac1775012058e13ef1522938e27f5973d9e3f053 (git) before 383d4f5cffcc8df930d95b06518a9d25a6d74aac
4.17
Any version before 4.17
6.1.162 (semver)
6.6.122 (semver)
6.12.68 (semver)
6.18.8 (semver)
6.19 (original_commit_for_fix)
References
git.kernel.org/...c/bddd3d10d039729b81cfb0804520c8832a701a0e
git.kernel.org/...c/417cdfd9b9f986e95bfcb1d68eb443e6e0a15f8c
git.kernel.org/...c/346775f2b4cf839177e8e86b94aa180a06dc15b0
git.kernel.org/...c/f6d6b3f172df118db582fe5ec43ae223a55d99cf
git.kernel.org/...c/383d4f5cffcc8df930d95b06518a9d25a6d74aac