Messages in this thread | | | Date | Tue, 17 Mar 2020 10:37:19 -0700 | From | "Paul E. McKenney" <> | Subject | [GIT PULL kcsan] KCSAN commits for v5.7 |
| |
Hello, Ingo,
This pull request contains KCSAN updates for v5.7.
https://lore.kernel.org/lkml/20200309190359.GA5822@paulmck-ThinkPad-P72/
All of these have been subjected to the kbuild test robot and -next testing, and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git kcsan-for-mingo
for you to fetch changes up to 31bbbb841768f369301d6f65782dffd65d22aa5b:
kcsan, trace: Make KCSAN compatible with tracing (2020-03-09 13:18:49 -0700)
---------------------------------------------------------------- Marco Elver (25): kcsan: Prefer __always_inline for fast-path kcsan: Show full access type in report kcsan: Rate-limit reporting per data races kcsan: Make KCSAN compatible with lockdep kcsan: Address missing case with KCSAN_REPORT_VALUE_CHANGE_ONLY include/linux: Add instrumented.h infrastructure asm-generic, atomic-instrumented: Use generic instrumented.h asm-generic, kcsan: Add KCSAN instrumentation for bitops iov_iter: Use generic instrumented.h copy_to_user, copy_from_user: Use generic instrumented.h kcsan: Add option to assume plain aligned writes up to word size are atomic kcsan: Clarify Kconfig option KCSAN_IGNORE_ATOMICS kcsan: Cleanup of main KCSAN Kconfig option kcsan: Fix 0-sized checks kcsan: Introduce KCSAN_ACCESS_ASSERT access type kcsan: Introduce ASSERT_EXCLUSIVE_* macros kcsan: Add test to generate conflicts via debugfs kcsan: Expose core configuration parameters as module params kcsan: Fix misreporting if concurrent races on same address kcsan: Move interfaces that affects checks to kcsan-checks.h compiler.h, seqlock.h: Remove unnecessary kcsan.h includes kcsan: Introduce kcsan_value_change type kcsan: Add kcsan_set_access_mask() support kcsan: Introduce ASSERT_EXCLUSIVE_BITS(var, mask) kcsan, trace: Make KCSAN compatible with tracing
Paul E. McKenney (1): kcsan: Add docbook header for data_race()
arch/x86/lib/Makefile | 5 + include/asm-generic/atomic-instrumented.h | 395 ++++++++++----------- include/asm-generic/bitops/instrumented-atomic.h | 14 +- include/asm-generic/bitops/instrumented-lock.h | 10 +- .../asm-generic/bitops/instrumented-non-atomic.h | 16 +- include/linux/compiler.h | 16 +- include/linux/instrumented.h | 109 ++++++ include/linux/kcsan-checks.h | 174 ++++++++- include/linux/kcsan.h | 46 +-- include/linux/seqlock.h | 2 +- include/linux/uaccess.h | 14 +- init/init_task.c | 1 + kernel/kcsan/Makefile | 2 + kernel/kcsan/atomic.h | 2 +- kernel/kcsan/core.c | 183 ++++++++-- kernel/kcsan/debugfs.c | 65 +++- kernel/kcsan/encoding.h | 14 +- kernel/kcsan/kcsan.h | 33 +- kernel/kcsan/report.c | 255 +++++++++++-- kernel/kcsan/test.c | 10 + kernel/locking/Makefile | 3 + kernel/trace/Makefile | 3 + lib/Kconfig.kcsan | 70 +++- lib/iov_iter.c | 7 +- lib/usercopy.c | 7 +- scripts/atomic/gen-atomic-instrumented.sh | 19 +- 26 files changed, 1068 insertions(+), 407 deletions(-) create mode 100644 include/linux/instrumented.h
| |