[GIT RFC PULL rcu/urgent] Fix noinstr warnings for KCSAN
From: Paul E. McKenney
Date: Fri Jun 26 2020 - 00:12:38 EST
Hello!
This pull request contains a single commit that uses "arch_" atomic
operations to avoid the instrumentation that comes with the non-"arch_"
versions. In preparation for that commit, it also has another commit
that makes these "arch_" atomic operations available to generic code.
Without these commits, KCSAN uses can see pointless errors.
This pull request is currently RFC pending ongoing -next testing.
This was not entirely free of drama, with Stephen needing to handle
a merge conflict:
https://lore.kernel.org/lkml/20200626131425.73ee4e27@xxxxxxxxxxxxxxxx/
However, the resolution looks straightforward to me. In addition,
these two commits pass rcutorture testing and associated KCSAN testing.
The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407:
Linux 5.8-rc1 (2020-06-14 12:45:04 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/urgent
for you to fetch changes up to b58e733fd774f3f4b49d9e7640d172a57e35200e:
rcu: Fixup noinstr warnings (2020-06-25 08:24:32 -0700)
----------------------------------------------------------------
Peter Zijlstra (2):
locking/atomics: Provide the arch_atomic_ interface to generic code
rcu: Fixup noinstr warnings
include/linux/atomic-fallback.h | 236 +++++++++++++++++++++++++++++++++-
include/linux/compiler.h | 2 +-
kernel/rcu/tree.c | 32 ++++-
scripts/atomic/gen-atomic-fallback.sh | 31 +++++
4 files changed, 292 insertions(+), 9 deletions(-)