Re: [PATCH 2/4] fortify: test: Use kunit_device

From: Kees Cook
Date: Wed Dec 06 2023 - 16:07:33 EST


On Tue, Dec 05, 2023 at 03:31:34PM +0800, davidgow@xxxxxxxxxx wrote:
> Using struct root_device to create fake devices for tests is something
> of a hack. The new struct kunit_device is meant for this purpose, so use
> it instead.
>
> Signed-off-by: David Gow <davidgow@xxxxxxxxxx>
> ---
> lib/fortify_kunit.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/lib/fortify_kunit.c b/lib/fortify_kunit.c
> index c8c33cbaae9e..f7a1fce8849b 100644
> --- a/lib/fortify_kunit.c
> +++ b/lib/fortify_kunit.c
> @@ -16,6 +16,7 @@
> #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
>
> #include <kunit/test.h>
> +#include <kunit/device.h>
> #include <linux/device.h>
> #include <linux/slab.h>
> #include <linux/string.h>
> @@ -269,7 +270,7 @@ DEFINE_ALLOC_SIZE_TEST_PAIR(kvmalloc)
> size_t len; \
> \
> /* Create dummy device for devm_kmalloc()-family tests. */ \
> - dev = root_device_register(dev_name); \
> + dev = kunit_device_register(test, dev_name); \
> KUNIT_ASSERT_FALSE_MSG(test, IS_ERR(dev), \
> "Cannot register test device\n"); \
> \
> @@ -303,7 +304,7 @@ DEFINE_ALLOC_SIZE_TEST_PAIR(kvmalloc)
> checker(len, devm_kmemdup(dev, "Ohai", len, gfp), \
> devm_kfree(dev, p)); \
> \
> - device_unregister(dev); \
> + kunit_device_unregister(test, dev); \
> } while (0)
> DEFINE_ALLOC_SIZE_TEST_PAIR(devm_kmalloc)

Acked-by: Kees Cook <keescook@xxxxxxxxxxxx>

(As an aside; shouldn't this get automatically cleaned up like other
kunit resources, though?)

--
Kees Cook