diff options
| author | Felix Gu <gu_0233@qq.com> | 2026-01-09 20:49:53 +0800 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-01-12 11:20:42 +0000 |
| commit | 383d4f5cffcc8df930d95b06518a9d25a6d74aac (patch) | |
| tree | 2ecf4588c76fd9df7d308f7d3550fecec9bf1ed3 /include/uapi/linux | |
| parent | 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb (diff) | |
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.
Fixes: ac17750 ("spi: sprd: Add the support of restarting the system")
Signed-off-by: Felix Gu <gu_0233@qq.com>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Link: https://patch.msgid.link/tencent_AC7D389CE7E24318445E226F7CDCCC2F0D07@qq.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/uapi/linux')
0 files changed, 0 insertions, 0 deletions
