linux/drivers/base/test
Maxime Ripard b4cc44301b drivers: base: Add basic devm tests for platform devices
Platform devices show some inconsistencies with how devm resources are
released when the device has been probed and when it hasn't.

In particular, we can register device-managed actions no matter if the
device has be bound to a driver or not, but devres_release_all() will
only be called if it was bound to a driver or if there's no reference
held to it anymore.

If it wasn't bound to a driver and we still have a reference,
devres_release_all() will never get called. This is surprising
considering that if the driver isn't bound but doesn't have any
reference to it anymore, that function will get called, and if it was
bound to a driver but still has references, that function will get
called as well.

Even if that case is fairly unusual, it can easily lead to memory leaks.

The plan is, with the next patch, to make it consistent and enforce that
devres_release_all() is called no matter what situation we're in. For
now, it just tests for the current behaviour and skips over the
inconsistencies.

Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20230720-kunit-devm-inconsistencies-test-v3-2-6aa7e074f373@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-12 13:06:16 +02:00
..
.kunitconfig drivers: base: Add basic devm tests for root devices 2023-08-12 13:06:15 +02:00
Kconfig drivers: base: Add basic devm tests for root devices 2023-08-12 13:06:15 +02:00
Makefile drivers: base: Add basic devm tests for platform devices 2023-08-12 13:06:16 +02:00
platform-device-test.c drivers: base: Add basic devm tests for platform devices 2023-08-12 13:06:16 +02:00
property-entry-test.c software node: Switch property entry test to a new API 2023-01-17 19:04:26 +01:00
root-device-test.c drivers: base: Add basic devm tests for root devices 2023-08-12 13:06:15 +02:00
test_async_driver_probe.c driver core: test_async: fix an error code 2023-08-05 08:31:41 +02:00