lkml.org 
[lkml]   [2021]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[tip: locking/core] lockdep: Noinstr annotate warn_bogus_irq_restore()
The following commit has been merged into the locking/core branch of tip:

Commit-ID: c8cc7e853192d520ab6a5957f5081034103587ae
Gitweb: https://git.kernel.org/tip/c8cc7e853192d520ab6a5957f5081034103587ae
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Tue, 09 Feb 2021 09:30:03 +01:00
Committer: Peter Zijlstra <peterz@infradead.org>
CommitterDate: Wed, 10 Feb 2021 14:44:39 +01:00

lockdep: Noinstr annotate warn_bogus_irq_restore()

vmlinux.o: warning: objtool: lock_is_held_type()+0x107: call to warn_bogus_irq_restore() leaves .noinstr.text section

As per the general rule that WARNs are allowed to violate noinstr to
get out, annotate it away.

Fixes: 997acaf6b4b5 ("lockdep: report broken irq restoration")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Link: https://lkml.kernel.org/r/YCKyYg53mMp4E7YI@hirez.programming.kicks-ass.net
---
kernel/locking/irqflag-debug.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/locking/irqflag-debug.c b/kernel/locking/irqflag-debug.c
index 9603d20..810b503 100644
--- a/kernel/locking/irqflag-debug.c
+++ b/kernel/locking/irqflag-debug.c
@@ -4,8 +4,10 @@
#include <linux/export.h>
#include <linux/irqflags.h>

-void warn_bogus_irq_restore(void)
+noinstr void warn_bogus_irq_restore(void)
{
+ instrumentation_begin();
WARN_ONCE(1, "raw_local_irq_restore() called with IRQs enabled\n");
+ instrumentation_end();
}
EXPORT_SYMBOL(warn_bogus_irq_restore);
\
 
 \ /
  Last update: 2021-02-10 15:04    [W:0.061 / U:0.340 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site