All of lore.kernel.org
 help / color / mirror / Atom feed
* [tip: locking/urgent] lockdep: Fix preemption WARN for spurious IRQ-enable
@ 2020-10-26 12:41 tip-bot2 for Peter Zijlstra
  0 siblings, 0 replies; only message in thread
From: tip-bot2 for Peter Zijlstra @ 2020-10-26 12:41 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: syzbot+53f8ce8bbc07924b6417, kernel test robot,
	Peter Zijlstra (Intel),
	x86, LKML

The following commit has been merged into the locking/urgent branch of tip:

Commit-ID:     f8e48a3dca060e80f672d398d181db1298fbc86c
Gitweb:        https://git.kernel.org/tip/f8e48a3dca060e80f672d398d181db1298fbc86c
Author:        Peter Zijlstra <peterz@infradead.org>
AuthorDate:    Thu, 22 Oct 2020 12:23:02 +02:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Thu, 22 Oct 2020 12:37:22 +02:00

lockdep: Fix preemption WARN for spurious IRQ-enable

It is valid (albeit uncommon) to call local_irq_enable() without first
having called local_irq_disable(). In this case we enter
lockdep_hardirqs_on*() with IRQs enabled and trip a preemption warning
for using __this_cpu_read().

Use this_cpu_read() instead to avoid the warning.

Fixes: 4d004099a6 ("lockdep: Fix lockdep recursion")
Reported-by: syzbot+53f8ce8bbc07924b6417@syzkaller.appspotmail.com
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
---
 kernel/locking/lockdep.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 3e99dfe..fc206ae 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -4057,7 +4057,7 @@ void lockdep_hardirqs_on_prepare(unsigned long ip)
 	if (unlikely(in_nmi()))
 		return;
 
-	if (unlikely(__this_cpu_read(lockdep_recursion)))
+	if (unlikely(this_cpu_read(lockdep_recursion)))
 		return;
 
 	if (unlikely(lockdep_hardirqs_enabled())) {
@@ -4126,7 +4126,7 @@ void noinstr lockdep_hardirqs_on(unsigned long ip)
 		goto skip_checks;
 	}
 
-	if (unlikely(__this_cpu_read(lockdep_recursion)))
+	if (unlikely(this_cpu_read(lockdep_recursion)))
 		return;
 
 	if (lockdep_hardirqs_enabled()) {

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-10-26 12:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-26 12:41 [tip: locking/urgent] lockdep: Fix preemption WARN for spurious IRQ-enable tip-bot2 for Peter Zijlstra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.