Patch "locking/lockdep: Add nest_lock integrity test" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
locking/lockdep: Add nest_lock integrity test
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
locking-lockdep-add-nest_lock-integrity-test.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Oct 19 15:04:02 CEST 2017
From: Peter Zijlstra <[email protected]>
Date: Wed, 1 Mar 2017 16:23:30 +0100
Subject: locking/lockdep: Add nest_lock integrity test
From: Peter Zijlstra <[email protected]>
[ Upstream commit 7fb4a2cea6b18dab56d609530d077f168169ed6b ]
Boqun reported that hlock->references can overflow. Add a debug test for that to generate a clear error when this happens.
Without this, lockdep is likely to report a mysterious failure on unlock.
--- kernel/locking/lockdep.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
kernel/locking/lockdep.c +9 -2
@@ -3260,10 +3260,17 @@ static int __lock_acquire(struct lockdepif (depth) { hlock = curr->held_locks + depth -1 ;if (hlock->class_idx == class_idx && nest_lock) { -if (hlock->references) +if (hlock->references) { +/* +* Check: unsigned int references:12, overflow. +*/ +if (DEBUG_LOCKS_WARN_ON (hlock->references == (1 <<12 )-1 )) +return 0 ; + hlock->references++; -else + }else { hlock->references =2 ; + }return 1 ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/sched-fair-update-rq-clock-before-changing-a-task-s-cpu-affinity.patch queue-4.9/locking-lockdep-add-nest_lock-integrity-test.patch