forked from Minki/linux
locking/selftest: Avoid false BUG report
The work-around for the expected failure is providing another failure :/
Only when CONFIG_PROVE_LOCKING=y do we increment unexpected_testcase_failures,
so only then do we need to decrement, otherwise we'll end up with a negative
number and that will again trigger a BUG (printout, not crash).
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Tested-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: d82fed7529
("locking/lockdep/selftests: Fix mixed read-write ABBA tests")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
8b405d5c5d
commit
c7e2f69d3e
@ -2031,11 +2031,13 @@ void locking_selftest(void)
|
|||||||
print_testname("mixed read-lock/lock-write ABBA");
|
print_testname("mixed read-lock/lock-write ABBA");
|
||||||
pr_cont(" |");
|
pr_cont(" |");
|
||||||
dotest(rlock_ABBA1, FAILURE, LOCKTYPE_RWLOCK);
|
dotest(rlock_ABBA1, FAILURE, LOCKTYPE_RWLOCK);
|
||||||
|
#ifdef CONFIG_PROVE_LOCKING
|
||||||
/*
|
/*
|
||||||
* Lockdep does indeed fail here, but there's nothing we can do about
|
* Lockdep does indeed fail here, but there's nothing we can do about
|
||||||
* that now. Don't kill lockdep for it.
|
* that now. Don't kill lockdep for it.
|
||||||
*/
|
*/
|
||||||
unexpected_testcase_failures--;
|
unexpected_testcase_failures--;
|
||||||
|
#endif
|
||||||
|
|
||||||
pr_cont(" |");
|
pr_cont(" |");
|
||||||
dotest(rwsem_ABBA1, FAILURE, LOCKTYPE_RWSEM);
|
dotest(rwsem_ABBA1, FAILURE, LOCKTYPE_RWSEM);
|
||||||
|
Loading…
Reference in New Issue
Block a user