linux/kernel/kcsan
Marco Elver ae4f70b2fe kcsan: Instrument memcpy/memset/memmove with newer Clang
commit 7c201739be upstream.

With Clang version 16+, -fsanitize=thread will turn
memcpy/memset/memmove calls in instrumented functions into
__tsan_memcpy/__tsan_memset/__tsan_memmove calls respectively.

Add these functions to the core KCSAN runtime, so that we (a) catch data
races with mem* functions, and (b) won't run into linker errors with
such newer compilers.

Cc: stable@vger.kernel.org # v5.10+
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
[ elver@google.com: adjust check_access() call for v5.15 and earlier. ]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-12 11:58:48 +01:00
..
core.c kcsan: Instrument memcpy/memset/memmove with newer Clang 2023-01-12 11:58:48 +01:00
debugfs.c kcsan: use u64 instead of cycles_t 2021-07-30 17:09:02 +02:00
encoding.h kcsan: Add missing license and copyright headers 2021-03-08 14:27:43 -08:00
kcsan_test.c kcsan: permissive: Ignore data-racy 1-bit value changes 2021-07-20 13:49:44 -07:00
kcsan.h kcsan: Report observed value changes 2021-05-18 10:58:15 -07:00
Makefile kcsan: Make test follow KUnit style recommendations 2021-03-08 14:27:43 -08:00
permissive.h kcsan: permissive: Ignore data-racy 1-bit value changes 2021-07-20 13:49:44 -07:00
report.c Merge branch 'kcsan.2021.05.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu 2021-07-04 12:29:16 -07:00
selftest.c kcsan: Add missing license and copyright headers 2021-03-08 14:27:43 -08:00