Messages in this thread | | | From | Marco Elver <> | Date | Tue, 5 Oct 2021 15:13:25 +0200 | Subject | Re: [PATCH -rcu/kcsan 04/23] kcsan: Add core support for a subset of weak memory modeling |
| |
On Tue, 5 Oct 2021 at 14:53, Peter Zijlstra <peterz@infradead.org> wrote: > On Tue, Oct 05, 2021 at 12:58:46PM +0200, Marco Elver wrote: > > +#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?
| |