Skip to content

kasan: HW_TAGS tests support and fixes

Andrey Konovalov linux-arm-kernel linux-mm lkml 4 versions – Applied

Status from this message: [merged] kasan-dont-run-tests-when-kasan-is-not-enabled.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest15 patches 0 repliesApplied 15/15
  2. v315 patches 12 repliesSuperseded
  3. v214 patches 15 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v111 patches37 repliesSuperseded

Changes in v4 from the cover letter

- Fix using tabs instead of spaces in bulk tests.
- Simplify is_write calculation in report_tag_fault().
- Add a comment about tests to report_tag_fault().

Patches in v4 All 15 applied

#Subject and filesSizeRepliesApplied
1/15kasan: prefix global functions with kasan_mm/kasan/common.c mm/kasan/generic.c mm/kasan/kasan.h +8 more+117 -1170 repliesApplied
2/15kasan: clarify HW_TAGS impact on TBIDocumentation/dev-tools/kasan.rst+11 -50 repliesApplied
3/15kasan: clean up comments in testslib/test_kasan.c lib/test_kasan_module.c+39 -250 repliesApplied
4/15kasan: add macros to simplify checking test constraintslib/test_kasan.c+31 -700 repliesApplied
5/15kasan: add match-all tag testslib/test_kasan.c mm/kasan/kasan.h+98 -00 repliesApplied
6/15kasan, arm64: allow using KUnit tests with HW_TAGS modearch/arm64/include/asm/memory.h arch/arm64/include/asm/mte-kasan.h arch/arm64/kernel/mte.c +4 more+79 -210 repliesApplied
7/15kasan: rename CONFIG_TEST_KASAN_MODULEDocumentation/dev-tools/kasan.rst lib/Kconfig.kasan lib/Makefile+6 -60 repliesApplied
8/15kasan: add compiler barriers to KUNIT_EXPECT_KASAN_FAILlib/test_kasan.c mm/kasan/report.c+13 -60 repliesApplied
9/15kasan: adapt kmalloc_uaf2 test to HW_TAGS modelib/test_kasan.c+11 -00 repliesApplied
10/15kasan: fix memory corruption in kasan_bitops_tags testlib/test_kasan.c+5 -50 repliesApplied
11/15kasan: move _RET_IP_ to inline wrappersinclude/linux/kasan.h mm/mempool.c mm/slab.c +1 more+13 -150 repliesApplied
12/15kasan: fix bug detection via ksize for HW_TAGS modeinclude/linux/kasan-checks.h include/linux/kasan.h lib/test_kasan.c +5 more+72 -180 repliesApplied
13/15kasan: add proper page allocator testslib/test_kasan.c+46 -50 repliesApplied
14/15kasan: add a test for kmem_cache_alloc/free_bulklib/test_kasan.c+33 -50 repliesApplied
15/15kasan: don't run tests when KASAN is not enabledlib/test_kasan.c+5 -00 repliesApplied

Reviews trailers per patch

All 15 patches have a Reviewed-by or Acked-by.

PatchMarco ElverAlexander PotapenkoCatalin MarinasVincenzo Frascino
1/15R-b R-b
2/15R-b R-b
3/15R-b R-b
4/15R-b R-b
5/15R-b R-b
6/15R-b R-b
7/15R-b R-b
8/15R-b R-b
9/15R-b R-b
10/15R-b R-b
11/15R-b R-b
12/15R-b R-b
13/15R-b R-b
14/15R-b R-b
15/15R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v4 thread

Cover letter [PATCH v4 00/15] kasan: HW_TAGS tests support and fixes

This patchset adds support for running KASAN-KUnit tests with the hardware tag-based mode and also contains a few fixes.

Changes v3->v4:
- Fix using tabs instead of spaces in bulk tests.
- Simplify is_write calculation in report_tag_fault().
- Add a comment about tests to report_tag_fault().

Andrey Konovalov (15):
kasan: prefix global functions with kasan_
kasan: clarify HW_TAGS impact on TBI
kasan: clean up comments in tests
kasan: add macros to simplify checking test constraints
kasan: add match-all tag tests
kasan, arm64: allow using KUnit tests with HW_TAGS mode
kasan: rename CONFIG_TEST_KASAN_MODULE
kasan: add compiler barriers to KUNIT_EXPECT_KASAN_FAIL
kasan: adapt kmalloc_uaf2 test to HW_TAGS mode
kasan: fix memory corruption in kasan_bitops_tags test
kasan: move _RET_IP_ to inline wrappers
kasan: fix bug detection via ksize for HW_TAGS mode
kasan: add proper page allocator tests
kasan: add a test for kmem_cache_alloc/free_bulk
kasan: don't run tests when KASAN is not enabled

 Documentation/dev-tools/kasan.rst  |  24 +-
 arch/arm64/include/asm/memory.h    |   1 +
 arch/arm64/include/asm/mte-kasan.h |  12 +
 arch/arm64/kernel/mte.c            |  12 +
 arch/arm64/mm/fault.c              |  20 +-
 include/linux/kasan-checks.h       |   6 +
 include/linux/kasan.h              |  37 ++-
 lib/Kconfig.kasan                  |   6 +-
 lib/Makefile                       |   2 +-
 lib/test_kasan.c                   | 424 +++++++++++++++++++++--------
 lib/test_kasan_module.c            |   5 +-
 mm/kasan/common.c                  |  56 ++--
 mm/kasan/generic.c                 |  38 +--
 mm/kasan/kasan.h                   |  69 +++--
 mm/kasan/quarantine.c              |  22 +-
 mm/kasan/report.c                  |  15 +-
 mm/kasan/report_generic.c          |   8 +-
 mm/kasan/report_hw_tags.c          |   8 +-
 mm/kasan/report_sw_tags.c          |   8 +-
 mm/kasan/shadow.c                  |  26 +-
 mm/kasan/sw_tags.c                 |  20 +-
 mm/mempool.c                       |   2 +-
 mm/slab.c                          |   2 +-
 mm/slab_common.c                   |  16 +-
 mm/slub.c                          |   4 +-
 tools/objtool/check.c              |   2 +-
 26 files changed, 563 insertions(+), 282 deletions(-)
Signature · 1 line
2.30.0.284.gd98b1dd5eaa7-goog