[GIT PULL kcsan] KCSAN commits for v5.10

From: Paul E. McKenney
Date: Mon Sep 14 2020 - 13:52:39 EST


Hello, Ingo!

This pull request contains KCSAN updates for v5.10. These have been
subjected to LKML review, most recently here:

https://lore.kernel.org/lkml/20200831181715.GA1530@paulmck-ThinkPad-P72

All of these have also been subjected to the kbuild test robot and
-next testing. The following changes since v5.9-rc1 are available in
the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git kcsan

for you to fetch changes up to cd290ec24633f51029dab0d25505fae7da0e1eda:

kcsan: Use tracing-safe version of prandom (2020-08-30 21:50:13 -0700)

----------------------------------------------------------------
Marco Elver (19):
kcsan: Add support for atomic builtins
objtool: Add atomic builtin TSAN instrumentation to uaccess whitelist
kcsan: Add atomic builtin test case
kcsan: Support compounded read-write instrumentation
objtool, kcsan: Add __tsan_read_write to uaccess whitelist
kcsan: Skew delay to be longer for certain access types
kcsan: Add missing CONFIG_KCSAN_IGNORE_ATOMICS checks
kcsan: Test support for compound instrumentation
instrumented.h: Introduce read-write instrumentation hooks
asm-generic/bitops: Use instrument_read_write() where appropriate
locking/atomics: Use read-write instrumentation for atomic RMWs
kcsan: Simplify debugfs counter to name mapping
kcsan: Simplify constant string handling
kcsan: Remove debugfs test command
kcsan: Show message if enabled early
kcsan: Use pr_fmt for consistency
kcsan: Optimize debugfs stats counters
bitops, kcsan: Partially revert instrumentation for non-atomic bitops
kcsan: Use tracing-safe version of prandom

include/asm-generic/atomic-instrumented.h | 330 ++++++++++-----------
include/asm-generic/bitops/instrumented-atomic.h | 6 +-
include/asm-generic/bitops/instrumented-lock.h | 2 +-
.../asm-generic/bitops/instrumented-non-atomic.h | 30 +-
include/linux/instrumented.h | 30 ++
include/linux/kcsan-checks.h | 45 ++-
kernel/kcsan/core.c | 210 +++++++++++--
kernel/kcsan/debugfs.c | 130 ++------
kernel/kcsan/kcsan-test.c | 128 +++++++-
kernel/kcsan/kcsan.h | 12 +-
kernel/kcsan/report.c | 10 +-
kernel/kcsan/selftest.c | 8 +-
lib/Kconfig.kcsan | 5 +
scripts/Makefile.kcsan | 2 +-
scripts/atomic/gen-atomic-instrumented.sh | 21 +-
tools/objtool/check.c | 55 ++++
16 files changed, 677 insertions(+), 347 deletions(-)