]> git.baikalelectronics.ru Git - kernel.git/commit
spi: Fix simplification of devm_spi_register_controller
authorYang Yingliang <yangyingliang@huawei.com>
Tue, 12 Jul 2022 13:55:04 +0000 (21:55 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:12 +0000 (14:23 +0200)
commit62552a53fe30e2b060ef6125c269a9b5823bd63a
tree6ce6ce4c22173e0920188a36d06c3a155fc1f259
parentfef3c2801e9d8cc171b6311017a42a800e2304fd
spi: Fix simplification of devm_spi_register_controller

[ Upstream commit 5320b274610fc1d6e609907190d6384ec2d1948b ]

This reverts commit c5f5dc71e6eb ("spi: simplify
devm_spi_register_controller").

If devm_add_action() fails in devm_add_action_or_reset(),
devm_spi_unregister() will be called, it decreases the
refcount of 'ctlr->dev' to 0, then it will cause uaf in
the drivers that calling spi_put_controller() in error path.

Fixes: c5f5dc71e6eb ("spi: simplify devm_spi_register_controller")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20220712135504.1055688-1-yangyingliang@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi.c