[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200604102428.364746275@infradead.org>
Date: Thu, 04 Jun 2020 12:22:49 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: tglx@...utronix.de
Cc: x86@...nel.org, elver@...gle.com, paulmck@...nel.org,
kasan-dev@...glegroups.com, linux-kernel@...r.kernel.org,
peterz@...radead.org, will@...nel.org, dvyukov@...gle.com,
glider@...gle.com, andreyknvl@...gle.com
Subject: [PATCH 8/8] x86/entry, bug: Comment the instrumentation_begin() usage for WARN()
Explain the rationale for annotating WARN(), even though, strictly
speaking printk() and friends are very much not safe in many of the
places we put them.
Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
---
arch/x86/include/asm/bug.h | 6 ++++++
1 file changed, 6 insertions(+)
--- a/arch/x86/include/asm/bug.h
+++ b/arch/x86/include/asm/bug.h
@@ -76,6 +76,12 @@ do { \
unreachable(); \
} while (0)
+/*
+ * This instrumentation_begin() is strictly speaking incorrect; but it
+ * suppresses the complaints from WARN()s in noinstr code. If such a WARN()
+ * were to trigger, we'd rather wreck the machine in an attempt to get the
+ * message out than not know about it.
+ */
#define __WARN_FLAGS(flags) \
do { \
instrumentation_begin(); \
Powered by blists - more mailing lists