patch "staging: greybus: spilib: fix use-after-free after deregistration" added to staging-testing
Subsystems (5)
This is a note to let you know that I've just added the patch titled
staging: greybus: spilib: fix use-after-free after deregistration
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-testing branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will be merged to the staging-next branch sometime soon, after it passes testing, and the merge window is open.
If you have any questions about this process, please let me know.
Quoted 1 line
From
770b03c2ca4aa44d226cf248f86aa23e546147d0Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Sun, 29 Oct 2017 13:01:33 +0100
Subject: staging: greybus: spilib: fix use-after-free after deregistration
Remove erroneous spi_master_put() after controller deregistration which would access the already freed spi controller.
Note that spi_unregister_master() drops our only controller reference.
--- drivers/staging/greybus/spilib.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
drivers/staging/greybus/spilib.c +5 -3
@@ -544,11 +544,14 @@ int gb_spilib_master_init(struct gb_connection *connection, struct device *dev,return 0 ; -exit_spi_unregister: -spi_unregister_master (master); exit_spi_put:spi_master_put (master); +return ret; + +exit_spi_unregister: +spi_unregister_master (master); +return ret; }EXPORT_SYMBOL_GPL (gb_spilib_master_init);
@@ -558,7 +561,6 @@ void gb_spilib_master_exit(struct gb_connection *connection)struct spi_master *master =gb_connection_get_data (connection);spi_unregister_master (master); -spi_master_put (master); }EXPORT_SYMBOL_GPL (gb_spilib_master_exit);
Signature · 1 line
2.15.0