On Thu, Mar 1, 2018 at 7:59 AM, Arvind Yadav <arvind.yadav.cs@xxxxxxxxx> wrote:Yes, This is fine. put_device() will decrement a ref count.
Here kfree() is taking NULL. So moving 'dev = NULL' after kfree().Ouch! Does system_root_device_release() code ring a bell? How did you test this?
Thanks for your review.
When you start eventually looking to the code?
NAK.
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index ef61833..ccb64a0 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -1170,9 +1170,9 @@ static int subsys_register(struct bus_type *subsys,
err_dev_reg:
put_device(dev);
- dev = NULL;
err_name:
kfree(dev);
+ dev = NULL;
err_dev:
bus_unregister(subsys);
return err;