[GIT PULL] locking changes for v6.8

From: Ingo Molnar
Date: Mon Jan 08 2024 - 04:13:12 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-2024-01-08

# HEAD: 2b9d9e0a9ba0e24cb9c78336481f0ed8b2bc1ff2 locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked

Locking changes for v6.8:

- lock guards:

- Use lock guards in the ptrace code

- Introduce conditional guards to extend to conditional lock
primitives like mutex_trylock()/mutex_lock_interruptible()/etc.

- lockdep:

- Optimize 'struct lock_class' to be smaller

- Update file patterns in MAINTAINERS

- mutexes: Document mutex lifetime rules a bit more

Thanks,

Ingo

------------------>
Christophe JAILLET (2):
MAINTAINERS: Add include/linux/lockdep*.h
locking/lockdep: Slightly reorder 'struct lock_class' to save some memory

Ingo Molnar (1):
locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked

Jann Horn (1):
locking/mutex: Document that mutex_unlock() is non-atomic

Peter Zijlstra (2):
cleanup: Add conditional guard support
ptrace: Convert ptrace_attach() to use lock guards


Documentation/locking/mutex-design.rst | 18 ++++
MAINTAINERS | 2 +-
include/linux/cleanup.h | 52 ++++++++++-
include/linux/lockdep_types.h | 2 +-
include/linux/mutex.h | 3 +-
include/linux/rwsem.h | 8 +-
include/linux/sched/task.h | 2 +
include/linux/spinlock.h | 41 +++++++++
kernel/locking/mutex.c | 5 ++
kernel/ptrace.c | 154 ++++++++++++++++-----------------
10 files changed, 197 insertions(+), 90 deletions(-)