linux/mm/kmsan
Alexander Potapenko 85716a80c1 kmsan: allow using __msan_instrument_asm_store() inside runtime
In certain cases (e.g.  when handling a softirq)
__msan_instrument_asm_store(&var, sizeof(var)) may be called with from
within KMSAN runtime, but later the value of @var is used with
!kmsan_in_runtime(), leading to false positives.

Because kmsan_internal_unpoison_memory() doesn't take locks, it should be
fine to call it without kmsan_in_runtime() checks, which fixes the
mentioned false positives.

Link: https://lkml.kernel.org/r/20221128094541.2645890-2-glider@google.com
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Marco Elver <elver@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-12-11 18:12:11 -08:00
..
core.c kmsan: handle task creation and exiting 2022-10-03 14:03:20 -07:00
hooks.c entry: kmsan: introduce kmsan_unpoison_entry_regs() 2022-10-03 14:03:25 -07:00
init.c init: kmsan: call KMSAN initialization routines 2022-10-03 14:03:21 -07:00
instrumentation.c kmsan: allow using __msan_instrument_asm_store() inside runtime 2022-12-11 18:12:11 -08:00
kmsan.h kmsan: core: kmsan_in_runtime() should return true in NMI context 2022-11-08 15:57:24 -08:00
kmsan_test.c kmsan: add tests for KMSAN 2022-10-03 14:03:22 -07:00
Makefile kmsan: add tests for KMSAN 2022-10-03 14:03:22 -07:00
report.c
shadow.c mm: kmsan: export kmsan_copy_page_meta() 2022-10-28 13:37:22 -07:00