Re: [PATCH] kasan: move tests to mm/kasan/

From: Marco Elver
Date: Tue Sep 06 2022 - 02:01:43 EST


On Tue, 6 Sept 2022 at 00:18, <andrey.konovalov@xxxxxxxxx> wrote:
>
> From: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
>
> Move KASAN tests to mm/kasan/ to keep the test code alongside the
> implementation.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>

Reviewed-by: Marco Elver <elver@xxxxxxxxxx>

Thanks - this is overdue, and follows what newer KUnit tests do.

> ---
> MAINTAINERS | 1 -
> lib/Makefile | 5 -----
> mm/kasan/Makefile | 8 ++++++++
> lib/test_kasan.c => mm/kasan/kasan_test.c | 2 +-
> lib/test_kasan_module.c => mm/kasan/kasan_test_module.c | 2 +-
> 5 files changed, 10 insertions(+), 8 deletions(-)
> rename lib/test_kasan.c => mm/kasan/kasan_test.c (99%)
> rename lib/test_kasan_module.c => mm/kasan/kasan_test_module.c (99%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 589517372408..31b3e4b11e01 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -10938,7 +10938,6 @@ F: arch/*/include/asm/*kasan.h
> F: arch/*/mm/kasan_init*
> F: include/linux/kasan*.h
> F: lib/Kconfig.kasan
> -F: lib/test_kasan*.c
> F: mm/kasan/
> F: scripts/Makefile.kasan
>
> diff --git a/lib/Makefile b/lib/Makefile
> index ffabc30a27d4..928d7605c35c 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -65,11 +65,6 @@ obj-$(CONFIG_TEST_SYSCTL) += test_sysctl.o
> obj-$(CONFIG_TEST_SIPHASH) += test_siphash.o
> obj-$(CONFIG_HASH_KUNIT_TEST) += test_hash.o
> obj-$(CONFIG_TEST_IDA) += test_ida.o
> -obj-$(CONFIG_KASAN_KUNIT_TEST) += test_kasan.o
> -CFLAGS_test_kasan.o += -fno-builtin
> -CFLAGS_test_kasan.o += $(call cc-disable-warning, vla)
> -obj-$(CONFIG_KASAN_MODULE_TEST) += test_kasan_module.o
> -CFLAGS_test_kasan_module.o += -fno-builtin
> obj-$(CONFIG_TEST_UBSAN) += test_ubsan.o
> CFLAGS_test_ubsan.o += $(call cc-disable-warning, vla)
> UBSAN_SANITIZE_test_ubsan.o := y
> diff --git a/mm/kasan/Makefile b/mm/kasan/Makefile
> index 1f84df9c302e..d4837bff3b60 100644
> --- a/mm/kasan/Makefile
> +++ b/mm/kasan/Makefile
> @@ -35,7 +35,15 @@ CFLAGS_shadow.o := $(CC_FLAGS_KASAN_RUNTIME)
> CFLAGS_hw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
> CFLAGS_sw_tags.o := $(CC_FLAGS_KASAN_RUNTIME)
>
> +CFLAGS_KASAN_TEST := $(CFLAGS_KASAN) -fno-builtin $(call cc-disable-warning, vla)
> +
> +CFLAGS_kasan_test.o := $(CFLAGS_KASAN_TEST)
> +CFLAGS_kasan_test_module.o := $(CFLAGS_KASAN_TEST)
> +
> obj-y := common.o report.o
> obj-$(CONFIG_KASAN_GENERIC) += init.o generic.o report_generic.o shadow.o quarantine.o
> obj-$(CONFIG_KASAN_HW_TAGS) += hw_tags.o report_hw_tags.o tags.o report_tags.o
> obj-$(CONFIG_KASAN_SW_TAGS) += init.o report_sw_tags.o shadow.o sw_tags.o tags.o report_tags.o
> +
> +obj-$(CONFIG_KASAN_KUNIT_TEST) += kasan_test.o
> +obj-$(CONFIG_KASAN_MODULE_TEST) += kasan_test_module.o
> diff --git a/lib/test_kasan.c b/mm/kasan/kasan_test.c
> similarity index 99%
> rename from lib/test_kasan.c
> rename to mm/kasan/kasan_test.c
> index 505f77ffad27..f25692def781 100644
> --- a/lib/test_kasan.c
> +++ b/mm/kasan/kasan_test.c
> @@ -25,7 +25,7 @@
>
> #include <kunit/test.h>
>
> -#include "../mm/kasan/kasan.h"
> +#include "kasan.h"
>
> #define OOB_TAG_OFF (IS_ENABLED(CONFIG_KASAN_GENERIC) ? 0 : KASAN_GRANULE_SIZE)
>
> diff --git a/lib/test_kasan_module.c b/mm/kasan/kasan_test_module.c
> similarity index 99%
> rename from lib/test_kasan_module.c
> rename to mm/kasan/kasan_test_module.c
> index b112cbc835e9..e4ca82dc2c16 100644
> --- a/lib/test_kasan_module.c
> +++ b/mm/kasan/kasan_test_module.c
> @@ -13,7 +13,7 @@
> #include <linux/slab.h>
> #include <linux/uaccess.h>
>
> -#include "../mm/kasan/kasan.h"
> +#include "kasan.h"
>
> static noinline void __init copy_user_test(void)
> {
> --
> 2.25.1
>