[GIT PULL] LOCKDEP and Rust locking changes for v6.14

From: Boqun Feng
Date: Fri Dec 20 2024 - 19:01:14 EST


Hi Peter & Ingo,

Please pull the changes of lockdep and Rust locking for v6.14 into tip.

The following changes since commit 63a48181fbcddefe5fb4c6618938bb64c543945b:

smp/scf: Evaluate local cond_func() before IPI side-effects (2024-12-05 14:25:28 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux.git tags/lockdep-for-tip.20241220

for you to fetch changes up to fbd7a5a0359bc770e898d918d84977ea61163aad:

rust: sync: Add lock::Backend::assert_is_held() (2024-12-19 14:04:42 -0800)


I combined lockdep and Rust locking changes into one pull-request,
because it's easy in that way for me, but should you want two different
pull requests, please let me know.

I keep all the Acked-bys in the MAINTAINERS changes, but feel free to
drop them because it's going via tip. Again, thanks for the trust and
thank Miguel for the support!

Regards,
Boqun

----------------------------------------------------------------
Lockdep changes for v6.14:

- Use swap() macro in the ww_mutex test.
- Minor fixes and documentation for lockdep configs on internal data structure sizes.
- Some "-Wunused-function" warning fixes for Clang.

Rust locking changes for v6.14:

- Add Rust locking files into LOCKING PRIMITIVES maintainer entry.
- Add `Lock<(), ..>::from_raw()` function to support abstraction on low level locking.
- Expose `Guard::new()` for public usage and add type alias for spinlock and mutex guards.
- Add lockdep checking when creating a new lock `Guard`.

----------------------------------------------------------------
Andy Shevchenko (2):
lockdep: Mark chain_hlock_class_idx() with __maybe_unused
lockdep: Move lockdep_assert_locked() under #ifdef CONFIG_PROVE_LOCKING

Boqun Feng (1):
locking: MAINTAINERS: Start watching Rust locking primitives

Carlos Llamas (3):
lockdep: Fix upper limit for LOCKDEP_*_BITS configs
lockdep: Clarify size for LOCKDEP_*_BITS configs
lockdep: Document MAX_LOCKDEP_CHAIN_HLOCKS calculation

Lyude Paul (5):
rust: sync: Add Lock::from_raw() for Lock<(), B>
rust: sync: Make Guard::new() public
rust: sync: Add MutexGuard type alias
rust: sync: Add SpinLockGuard type alias
rust: sync: Add lock::Backend::assert_is_held()

Thorsten Blum (1):
locking/ww_mutex/test: Use swap() macro

MAINTAINERS | 7 ++++++-
kernel/locking/lockdep.c | 4 +++-
kernel/locking/lockdep_internals.h | 3 ++-
kernel/locking/test-ww_mutex.c | 9 +++------
lib/Kconfig.debug | 18 +++++++++---------
rust/helpers/mutex.c | 5 +++++
rust/helpers/spinlock.c | 5 +++++
rust/kernel/sync.rs | 4 ++--
rust/kernel/sync/lock.rs | 35 ++++++++++++++++++++++++++++++++++-
rust/kernel/sync/lock/mutex.rs | 13 +++++++++++++
rust/kernel/sync/lock/spinlock.rs | 13 +++++++++++++
11 files changed, 95 insertions(+), 21 deletions(-)