Re: [PATCH v7 00/38] kmsan: Enable on s390

2024-06-21 Thread Andrew Morton
On Fri, 21 Jun 2024 13:34:44 +0200 Ilya Leoshkevich  wrote:

> v6 -> v7: Drop the ptdump patch.
>   All patches are reviewed.

I added v7 to mm.git (and hence linux-next).



[PATCH v7 00/38] kmsan: Enable on s390

2024-06-21 Thread Ilya Leoshkevich
v6: https://lore.kernel.org/lkml/20240621002616.40684-1-...@linux.ibm.com/
v6 -> v7: Drop the ptdump patch.
  All patches are reviewed.

v5: https://lore.kernel.org/lkml/20240619154530.163232-1-...@linux.ibm.com/
v5 -> v6: Include KMSAN vmalloc areas in page table dump.
  Fix doc comments; use KMSAN_WARN_ON (Alexander P.).
  Patches that need review:
  - [PATCH 16/39] kmsan: Expose KMSAN_WARN_ON()
  - [PATCH 32/39] s390/ptdump: Add KMSAN page markers

v4: https://lore.kernel.org/lkml/20240613153924.961511-1-...@linux.ibm.com/
v4 -> v5: Fix the __memset() build issue.
  Change the attribute #defines to lowercase in order to match
  the existing code style.
  Fix the kmsan_virt_addr_valid() implementation to avoid
  recursion in debug builds, like it's done on x86_64 - dropped
  R-bs, please take another look.
  Add kmsan_disable_current()/kmsan_enable_current() doc;
  Fix the poisoned memchr_inv() value in a different way;
  Add the missing linux/instrumented.h #include;
  (Alexander P.).
  Patches that need review:
  - [PATCH 12/37] kmsan: Introduce memset_no_sanitize_memory()
  - [PATCH 13/37] kmsan: Support SLAB_POISON
  - [PATCH 17/37] mm: slub: Disable KMSAN when checking the padding 
bytes
  - [PATCH 36/37] s390/kmsan: Implement the architecture-specific 
functions

v3: https://lore.kernel.org/lkml/20231213233605.661251-1-...@linux.ibm.com/
v3 -> v4: Rebase.
  Elaborate why ftrace_ops_list_func() change is needed on
  x64_64 (Steven).
  Add a comment to the DFLTCC patch (Alexander P.).
  Simplify diag224();
  Improve __arch_local_irq_attributes style;
  Use IS_ENABLED(CONFIG_KMSAN) for vmalloc area (Heiko).
  Align vmalloc area on _SEGMENT_SIZE (Alexander G.).

v2: https://lore.kernel.org/lkml/20231121220155.1217090-1-...@linux.ibm.com/
v2 -> v3: Drop kmsan_memmove_metadata() and strlcpy() patches;
  Remove kmsan_get_metadata() stub;
  Move kmsan_enable_current() and kmsan_disable_current() to
  include/linux/kmsan.h, explain why a counter is needed;
  Drop the memset_no_sanitize_memory() patch;
  Use __memset() in the SLAB_POISON patch;
  Add kmsan-checks.h to the DFLTCC patch;
  Add recursion check to the arch_kmsan_get_meta_or_null()
  patch (Alexander P.).

  Fix inline + __no_kmsan_checks issues.
  New patch for s390/irqflags, that resolves a lockdep warning.
  New patch for s390/diag, that resolves a false positive when
  running on an LPAR.
  New patch for STCCTM, same as above.
  New patch for check_bytes_and_report() that resolves a false
  positive that occurs even on Intel.

v1: https://lore.kernel.org/lkml/20231115203401.2495875-1-...@linux.ibm.com/
v1 -> v2: Add comments, sort #includes, introduce
  memset_no_sanitize_memory() and use it to avoid unpoisoning
  of redzones, change vmalloc alignment to _REGION3_SIZE, add
  R-bs (Alexander P.).

  Fix building
  [PATCH 28/33] s390/string: Add KMSAN support
  with FORTIFY_SOURCE.
  Reported-by: kernel test robot 
  Closes: 
https://lore.kernel.org/oe-kbuild-all/202311170550.bsbo44ix-...@intel.com/

Hi,

This series provides the minimal support for Kernel Memory Sanitizer on
s390. Kernel Memory Sanitizer is clang-only instrumentation for finding
accesses to uninitialized memory. The clang support for s390 has already
been merged [1].

With this series, I can successfully boot s390 defconfig and
debug_defconfig with kmsan.panic=1. The tool found one real
s390-specific bug (fixed in master).

Best regards,
Ilya

[1] https://reviews.llvm.org/D148596

Ilya Leoshkevich (38):
  ftrace: Unpoison ftrace_regs in ftrace_ops_list_func()
  kmsan: Make the tests compatible with kmsan.panic=1
  kmsan: Disable KMSAN when DEFERRED_STRUCT_PAGE_INIT is enabled
  kmsan: Increase the maximum store size to 4096
  kmsan: Fix is_bad_asm_addr() on arches with overlapping address spaces
  kmsan: Fix kmsan_copy_to_user() on arches with overlapping address
spaces
  kmsan: Remove a useless assignment from
kmsan_vmap_pages_range_noflush()
  kmsan: Remove an x86-specific #include from kmsan.h
  kmsan: Expose kmsan_get_metadata()
  kmsan: Export panic_on_kmsan
  kmsan: Allow disabling KMSAN checks for the current task
  kmsan: Introduce memset_no_sanitize_memory()
  kmsan: Support SLAB_POISON
  kmsan: Use ALIGN_DOWN() in kmsan_get_metadata()
  kmsan: Do not round up pg_data_t size
  kmsan: Expose KMSAN_WARN_ON()
  mm: slub: Let KMSAN access metadata
  mm: slub: Disable KMSAN when checking the padding bytes
  mm: kfence: Disable KMSAN when checking the canary
  lib/zlib: Unpoison DFLTCC output buffers
  kmsan: Accept ranges starting with 0 on s390
  s390/boot: Turn off KMSAN