summary refs log tree commit diff
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-11-08 09:51:28 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-11-08 09:51:28 -0800
commit6a8d0d283d624302d4377bcf4f40f5bd90c3c775 (patch)
treeade26fa612b3e28022ad71c1d2afa564a2f4bbd8 /kernel
parente942d75281398a8aef4f751753eff26a2a53f081 (diff)
parent9d820f68b2bdba5b2e7bf135123c3f57c5051d05 (diff)
downloadlinux-6a8d0d283d624302d4377bcf4f40f5bd90c3c775.tar.gz
Merge tag 'core-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull entry code fix from Thomas Gleixner:
 "A single fix for the generic entry code to correct the wrong
  assumption that the lockdep interrupt state needs not to be
  established before calling the RCU check"

* tag 'core-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  entry: Fix the incorrect ordering of lockdep and RCU check
Diffstat (limited to 'kernel')
-rw-r--r--kernel/entry/common.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/entry/common.c b/kernel/entry/common.c
index 2b8366693d5c..e9e2df3f3f9e 100644
--- a/kernel/entry/common.c
+++ b/kernel/entry/common.c
@@ -337,10 +337,10 @@ noinstr irqentry_state_t irqentry_enter(struct pt_regs *regs)
 	 * already contains a warning when RCU is not watching, so no point
 	 * in having another one here.
 	 */
+	lockdep_hardirqs_off(CALLER_ADDR0);
 	instrumentation_begin();
 	rcu_irq_enter_check_tick();
-	/* Use the combo lockdep/tracing function */
-	trace_hardirqs_off();
+	trace_hardirqs_off_finish();
 	instrumentation_end();
 
 	return ret;