Message ID | cover.1628709663.git.andreyknvl@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | kasan: test: avoid crashing the kernel with HW_TAGS | expand |
On Wed, 11 Aug 2021 at 21:21, <andrey.konovalov@linux.dev> wrote: > > From: Andrey Konovalov <andreyknvl@gmail.com> > > KASAN tests do out-of-bounds and use-after-free accesses. Running the > tests works fine for the GENERIC mode, as it uses qurantine and redzones. > But the HW_TAGS mode uses neither, and running the tests might crash > the kernel. > > Rework the tests to avoid corrupting kernel memory. Thanks for this! I think only 1 change is questionable ("kasan: test: avoid corrupting memory via memset") because it no longer checks overlapping valid to invalid range writes. > Andrey Konovalov (8): > kasan: test: rework kmalloc_oob_right > kasan: test: avoid writing invalid memory > kasan: test: avoid corrupting memory via memset > kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS > kasan: test: only do kmalloc_uaf_memset for generic mode > kasan: test: clean up ksize_uaf > kasan: test: avoid corrupting memory in copy_user_test > kasan: test: avoid corrupting memory in kasan_rcu_uaf > > lib/test_kasan.c | 74 ++++++++++++++++++++++++++++------------- > lib/test_kasan_module.c | 20 +++++------ > 2 files changed, 60 insertions(+), 34 deletions(-) > > -- > 2.25.1 >
From: Andrey Konovalov <andreyknvl@gmail.com> KASAN tests do out-of-bounds and use-after-free accesses. Running the tests works fine for the GENERIC mode, as it uses qurantine and redzones. But the HW_TAGS mode uses neither, and running the tests might crash the kernel. Rework the tests to avoid corrupting kernel memory. Andrey Konovalov (8): kasan: test: rework kmalloc_oob_right kasan: test: avoid writing invalid memory kasan: test: avoid corrupting memory via memset kasan: test: disable kmalloc_memmove_invalid_size for HW_TAGS kasan: test: only do kmalloc_uaf_memset for generic mode kasan: test: clean up ksize_uaf kasan: test: avoid corrupting memory in copy_user_test kasan: test: avoid corrupting memory in kasan_rcu_uaf lib/test_kasan.c | 74 ++++++++++++++++++++++++++++------------- lib/test_kasan_module.c | 20 +++++------ 2 files changed, 60 insertions(+), 34 deletions(-)