Re: [GIT PULL kcsan] KCSAN commits for v5.10

From: Ingo Molnar
Date: Fri Oct 09 2020 - 02:46:05 EST



* Paul E. McKenney <paulmck@xxxxxxxxxx> wrote:

> 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(-)

Pulled into tip:locking/core, thanks a lot Paul!

Ingo