[GIT PULL] LOCKDEP changes for v6.13

From: Boqun Feng
Date: Fri Oct 18 2024 - 00:58:37 EST


Hi Peter & Ingo,

Please pull the changes of lockdep for v6.13 into tip.

The following changes since commit 87347f148061b48c3495fb61dcbad384760da9cf:

futex: Use atomic64_try_cmpxchg_relaxed() in get_inode_sequence_number() (2024-10-17 22:02:27 +0200)

are available in the Git repository at:

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

for you to fetch changes up to 2628cbd03924b91a360f72117a9b9c78cfd050e7:

locking/pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase (2024-10-17 21:21:16 -0700)


Again, I've reviewed and tested these changes from my end, but since I
don't have a branch tracked by linux-next, so that part of testing is
missing. It does pass the 0day build test though. Two important things
(because of which I'm happy to redo the pull request):

* I added a non lockdep patch into the pull request:

"Convert fields of 'enum vcpu_state' to uppercase" [1]

Because it's trivial enough and we also have Waiman's Acked-by.

* There is one commit in tip/locking/core that may need some changes
because it fails lockdep selftests. See [2], and the author (Cced)
already send a new version [3]. If you want to rebase the
tip/locking/core, I'm happy to adjust my pull request on to it, if
needed.


I read through Documentation/process/maintainer-tip.rst this time, and
try to apply it to the patches in this pull request. Hopefully I'm
getting better. Thanks for the patience!

[1]: https://lore.kernel.org/all/20240809014802.15320-1-qiuxu.zhuo@xxxxxxxxx/
[2]: https://lore.kernel.org/all/Zw19sMtnKdyOVQoh@boqun-archlinux/
[3]: https://lore.kernel.org/all/20241017151007.92215-1-thomas.hellstrom@xxxxxxxxxxxxxxx/

----------------------------------------------------------------
Lockdep changes for v6.13:

- Add a cpu-offline callback for lockdep to reset hardirq tracing status, this provides
more information to locate issues other than a triple fault on x86.
- Fix an issue that lockdep_set_subclass() can set the lockdep_map::name into a newly
created one instead of the existing, this can end up with a WARN triggered in
look_up_lock_class(), because class->name != lock->name while the key is the same.
A test case is also added to prevent this from happening in the future.
- Use pr_info() to print lockdep initial information instead of printk().
- Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING.
- (non lockdep) Convert fields of 'enum vcpu_state' to uppercase.

----------------------------------------------------------------
Ahmed Ehab (2):
locking/lockdep: Avoid creating new name string literals in lockdep_set_subclass()
locking/lockdep: Add a test for lockdep_set_subclass()

David Woodhouse (1):
lockdep: Add lockdep_cleanup_dead_cpu()

Jiri Slaby (SUSE) (1):
lockdep: Use info level for lockdep initial info messages

Qiuxu Zhuo (1):
locking/pvqspinlock: Convert fields of 'enum vcpu_state' to uppercase

Sebastian Andrzej Siewior (1):
lockdep: Enable PROVE_RAW_LOCK_NESTING with PROVE_LOCKING.

include/linux/irqflags.h | 6 +++++
include/linux/lockdep.h | 2 +-
kernel/cpu.c | 1 +
kernel/locking/lockdep.c | 46 ++++++++++++++++++++++++++++---------
kernel/locking/qspinlock_paravirt.h | 36 ++++++++++++++---------------
lib/Kconfig.debug | 12 ++--------
lib/locking-selftest.c | 39 +++++++++++++++++++++++++++++++
7 files changed, 102 insertions(+), 40 deletions(-)