linux/mm/kmsan
Alexander Potapenko 5478afc55a kmsan: fix memcpy tests
Recent Clang changes may cause it to delete calls of memcpy(), if the
source is an uninitialized volatile local.  This happens because passing a
pointer to a volatile local into memcpy() discards the volatile qualifier,
giving the compiler a free hand to optimize the memcpy() call away.

Use OPTIMIZER_HIDE_VAR() to hide the uninitialized var from the too-smart
compiler.

Link: https://lkml.kernel.org/r/20221205145740.694038-1-glider@google.com
Signed-off-by: Alexander Potapenko <glider@google.com>
Suggested-by: Marco Elver <elver@google.com>
Reviewed-by: Marco Elver <elver@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-12-11 18:12:21 -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_test.c kmsan: fix memcpy tests 2022-12-11 18:12:21 -08:00
kmsan.h kmsan: core: kmsan_in_runtime() should return true in NMI context 2022-11-08 15:57:24 -08:00
Makefile kmsan: add tests for KMSAN 2022-10-03 14:03:22 -07:00
report.c kmsan: add KMSAN runtime core 2022-10-03 14:03:19 -07:00
shadow.c mm: kmsan: export kmsan_copy_page_meta() 2022-10-28 13:37:22 -07:00