Thread (36 messages) 36 messages, 2 authors, 2021-11-11

Re: [PATCH -rcu/kcsan 04/23] kcsan: Add core support for a subset of weak memory modeling

From: Marco Elver <elver@google.com>
Date: 2021-10-05 13:13:41
Also in: linux-arch, linux-kbuild, linux-mm, lkml

On Tue, 5 Oct 2021 at 14:53, Peter Zijlstra [off-list ref] wrote:
On Tue, Oct 05, 2021 at 12:58:46PM +0200, Marco Elver wrote:
quoted
+#if !defined(CONFIG_ARCH_WANTS_NO_INSTR) || defined(CONFIG_STACK_VALIDATION)
+/*
+ * Arch does not rely on noinstr, or objtool will remove memory barrier
+ * instrumentation, and no instrumentation of noinstr code is expected.
+ */
+#define kcsan_noinstr
I think this still wants to be at the very least:

#define kcsan_noinstr noinline notrace

without noinline it is possible LTO (or similarly daft things) will end
up inlining the calls, and since we rely on objtool to NOP out CALLs
this must not happen.
Good point about noinline, will add.
And since you want to mark these functions as uaccess_safe, there must
not be any tracing on, hence notrace.
In the Makefile we've relied on:

  CFLAGS_REMOVE_core.o = $(CC_FLAGS_FTRACE)

just to disable it for all code here. That should be enough, right?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help