[GIT PULL] locking changes for v5.13

From: Ingo Molnar
Date: Wed Apr 28 2021 - 03:30:15 EST


Linus,

Please pull the latest locking/core git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2021-04-28

# HEAD: f4abe9967c6fdb511ee567e129a014b60945ab93 kcsan: Fix printk format string

Locking changes for this cycle were:

- rtmutex cleanup & spring cleaning pass that removes ~400 lines of code
- Futex simplifications & cleanups
- Add debugging to the CSD code, to help track down a tenacious race (or hw problem)
- Add lockdep_assert_not_held(), to allow code to require a lock to not be held,
and propagate this into the ath10k driver
- Misc LKMM documentation updates
- Misc KCSAN updates: cleanups & documentation updates
- Misc fixes and cleanups
- Fix locktorture bugs with ww_mutexes

Thanks,

Ingo

------------------>
Akira Yokosawa (1):
tools/memory-model: Remove reference to atomic_ops.rst

Arnd Bergmann (1):
kcsan: Fix printk format string

Bhaskar Chowdhury (1):
locking/rwsem: Fix comment typo

Davidlohr Bueso (5):
kernel/futex: Kill rt_mutex_next_owner()
kernel/futex: Make futex_wait_requeue_pi() only call fixup_owner()
kernel/futex: Move hb unlock out of unqueue_me_pi()
kernel/futex: Explicitly document pi_lock for pi_state owner fixup
MAINTAINERS: Add myself as futex reviewer

Ingo Molnar (1):
locking: Fix typos in comments

Jason Gerecke (1):
x86/jump_label: Mark arguments as const to satisfy asm constraints

Juergen Gross (3):
locking/csd_lock: Add boot parameter for controlling CSD lock debugging
locking/csd_lock: Prepare more CSD lock debugging
locking/csd_lock: Add more data to CSD lock debugging

Marco Elver (4):
kcsan, debugfs: Move debugfs file creation out of early init
kcsan: Make test follow KUnit style recommendations
kcsan: Switch to KUNIT_CASE_PARAM for parameterized tests
kcsan: Add missing license and copyright headers

Matthieu Baerts (1):
static_call: Fix unused variable warn w/o MODULE

Mauro Carvalho Chehab (1):
doc: Update rcu_dereference.rst reference

Paul E. McKenney (1):
tools/memory-model: Add access-marking documentation

Peter Zijlstra (1):
static_call: Relax static_call_update() function argument type

Sebastian Andrzej Siewior (4):
locking/rtmutex: Remove rt_mutex_timed_lock()
locking/rtmutex: Remove rtmutex deadlock tester leftovers
locking/rtmutex: Remove output from deadlock detector
locking/rtmutex: Consolidate rt_mutex_init()

Shaokun Zhang (1):
locking/mutex: Remove repeated declaration

Shuah Khan (3):
lockdep: Add lockdep_assert_not_held()
lockdep: Add lockdep lock state defines
ath10k: Detect conf_mutex held ath10k_drain_tx() calls

Thomas Gleixner (11):
locking/rtmutex: Remove empty and unused debug stubs
locking/rtmutex: Move rt_mutex_debug_task_free() to rtmutex.c
locking/rtmutex: Inline chainwalk depth check
locking/rtmutex: Remove pointless CONFIG_RT_MUTEXES=n stubs
locking/rtmutex: Decrapify __rt_mutex_init()
locking/rtmutex: Move debug functions as inlines into common header
locking/rtmutex: Make text section and inlining consistent
locking/rtmutex: Consolidate the fast/slowpath invocation
locking/rtmutex: Fix misleading comment in rt_mutex_postunlock()
locking/rtmutex: Restrict the trylock WARN_ON() to debug
locking/rtmutex: Clean up signal handling in __rt_mutex_slowlock()

Waiman Long (4):
locking/locktorture: Fix false positive circular locking splat in ww_mutex test
locking/ww_mutex: Remove DEFINE_WW_MUTEX() macro
locking/locktorture: Pass thread id to lock/unlock functions
locking/locktorture: Fix incorrect use of ww_acquire_ctx in ww_mutex test


Documentation/admin-guide/kernel-parameters.txt | 10 +
Documentation/dev-tools/kcsan.rst | 3 +
MAINTAINERS | 1 +
arch/arm/include/asm/spinlock.h | 2 +-
arch/x86/include/asm/jump_label.h | 4 +-
drivers/net/wireless/ath/ath10k/mac.c | 2 +
include/linux/kcsan-checks.h | 6 +
include/linux/kcsan.h | 7 +
include/linux/lockdep.h | 20 +-
include/linux/mutex.h | 4 +-
include/linux/rtmutex.h | 35 +-
include/linux/rwsem.h | 2 +-
include/linux/static_call.h | 4 +-
include/linux/ww_mutex.h | 17 +-
kernel/futex.c | 29 +-
kernel/kcsan/Makefile | 4 +-
kernel/kcsan/atomic.h | 5 +
kernel/kcsan/core.c | 7 +-
kernel/kcsan/debugfs.c | 9 +-
kernel/kcsan/encoding.h | 5 +
kernel/kcsan/kcsan.h | 8 +-
kernel/kcsan/{kcsan-test.c => kcsan_test.c} | 118 +++--
kernel/kcsan/report.c | 5 +
kernel/kcsan/selftest.c | 5 +
kernel/locking/Makefile | 2 -
kernel/locking/lockdep.c | 19 +-
kernel/locking/lockdep_proc.c | 2 +-
kernel/locking/locktorture.c | 146 ++++---
kernel/locking/mcs_spinlock.h | 2 +-
kernel/locking/mutex.c | 4 +-
kernel/locking/osq_lock.c | 4 +-
kernel/locking/rtmutex-debug.c | 182 --------
kernel/locking/rtmutex-debug.h | 37 --
kernel/locking/rtmutex.c | 432 +++++++------------
kernel/locking/rtmutex.h | 35 --
kernel/locking/rtmutex_common.h | 105 +++--
kernel/locking/rwsem.c | 4 +-
kernel/locking/spinlock.c | 4 +-
kernel/sched/core.c | 18 +-
kernel/smp.c | 276 +++++++++++-
kernel/static_call.c | 4 +-
lib/Kconfig.kcsan | 5 +-
.../memory-model/Documentation/access-marking.txt | 479 +++++++++++++++++++++
tools/memory-model/Documentation/glossary.txt | 2 +-
tools/memory-model/Documentation/simple.txt | 1 -
45 files changed, 1247 insertions(+), 828 deletions(-)
rename kernel/kcsan/{kcsan-test.c => kcsan_test.c} (94%)
delete mode 100644 kernel/locking/rtmutex-debug.c
delete mode 100644 kernel/locking/rtmutex-debug.h
delete mode 100644 kernel/locking/rtmutex.h
create mode 100644 tools/memory-model/Documentation/access-marking.txt