Hi,
These two patches fix some minor error path mistakes in the device module.
Changes: --------
v1->v2: * Add fixes tag. * Add an imperative statement in the first commit descripton.
Wander Lairson Costa (2): kunit: unregister the device on error kunit: avoid memory leak on device register error
lib/kunit/device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
kunit_init_device() should unregister the device on bus register error, but mistakenly it tries to unregister the bus.
Unregister the device instead of the bus.
Signed-off-by: Wander Lairson Costa wander@redhat.com Fixes: d03c720e03bd ("kunit: Add APIs for managing devices") --- lib/kunit/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/kunit/device.c b/lib/kunit/device.c index abc603730b8e..25c81ed465fb 100644 --- a/lib/kunit/device.c +++ b/lib/kunit/device.c @@ -51,7 +51,7 @@ int kunit_bus_init(void)
error = bus_register(&kunit_bus_type); if (error) - bus_unregister(&kunit_bus_type); + root_device_unregister(kunit_bus_device); return error; }
If the device register fails, free the allocated memory before returning.
Signed-off-by: Wander Lairson Costa wander@redhat.com Fixes: d03c720e03bd ("kunit: Add APIs for managing devices") --- lib/kunit/device.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/lib/kunit/device.c b/lib/kunit/device.c index 25c81ed465fb..d8c09dcb3e79 100644 --- a/lib/kunit/device.c +++ b/lib/kunit/device.c @@ -131,6 +131,7 @@ static struct kunit_device *kunit_device_register_internal(struct kunit *test, err = device_register(&kunit_dev->dev); if (err) { put_device(&kunit_dev->dev); + kfree(kunit_dev); return ERR_PTR(err); }
On Thu, 18 Apr 2024 13:00:36 -0300, Wander Lairson Costa wrote:
Hi,
These two patches fix some minor error path mistakes in the device module.
[ ... ]
Reviewed-by: Maxime Ripard mripard@kernel.org
Thanks! Maxime
linux-kselftest-mirror@lists.linaro.org