[PATCH RESEND v3 0/3] kasan: migrate the last module test to kunit

From: Sabyrzhan Tasbolatov
Date: Sun Oct 13 2024 - 22:56:12 EST


copy_user_test() is the last KUnit-incompatible test with
CONFIG_KASAN_MODULE_TEST requirement, which we are going to migrate to KUnit
framework and delete the former test and Kconfig as well.

In this patch series:

- [1/3] move kasan_check_write() and check_object_size() to
do_strncpy_from_user() to cover with KASAN checks with
multiple conditions in strncpy_from_user().

- [2/3] migrated copy_user_test() to KUnit, where we can also test
strncpy_from_user() due to [1/4].

KUnits have been tested on:
- x86_64 with CONFIG_KASAN_GENERIC. Passed
- arm64 with CONFIG_KASAN_SW_TAGS. 1 fail. See [1]
- arm64 with CONFIG_KASAN_HW_TAGS. 1 fail. See [1]
[1] https://lore.kernel.org/linux-mm/CACzwLxj21h7nCcS2-KA_q7ybe+5pxH0uCDwu64q_9pPsydneWQ@xxxxxxxxxxxxxx/

- [3/3] delete CONFIG_KASAN_MODULE_TEST and documentation occurrences.

Changes v2 -> v3:
- added in [1/3] Reviewed-by: Andrey Konovalov.
- added a long string in usermem for strncpy_from_user. Suggested by Andrey.
- applied Andrey's patch to modify further kasan.rst.

Changes v1 -> v2:
- moved the sanitization to do_strncpy_from_user and as the separate commit
per Andrey's review.
- deleted corresponding entries of kasan_test_module.o in Makefile
- deleted CONFIG_KASAN_MODULE_TEST at all with the documentation in separate
commit.
- added Documentation maintainers in CC.

Sabyrzhan Tasbolatov (3):
kasan: move checks to do_strncpy_from_user
kasan: migrate copy_user_test to kunit
kasan: delete CONFIG_KASAN_MODULE_TEST

Documentation/dev-tools/kasan.rst | 9 +--
.../translations/zh_CN/dev-tools/kasan.rst | 6 +-
.../translations/zh_TW/dev-tools/kasan.rst | 6 +-
lib/Kconfig.kasan | 7 --
lib/strncpy_from_user.c | 5 +-
mm/kasan/Makefile | 2 -
mm/kasan/kasan.h | 2 +-
mm/kasan/kasan_test_c.c | 39 +++++++++
mm/kasan/kasan_test_module.c | 81 -------------------
mm/kasan/report.c | 2 +-
10 files changed, 48 insertions(+), 111 deletions(-)
delete mode 100644 mm/kasan/kasan_test_module.c

--
2.34.1