On Fri, 9 Sept 2022 at 09:38, Marco Elver <elver@xxxxxxxxxx> wrote: > > Adds KCSAN's volatile instrumentation to objtool's uaccess whitelist. > > Recent kernel change have shown that this was missing from the uaccess > whitelist (since the first upstreamed version of KCSAN): > > mm/gup.o: warning: objtool: fault_in_readable+0x101: call to __tsan_volatile_write1() with UACCESS enabled > > Fixes: 75d75b7a4d54 ("kcsan: Support distinguishing volatile accesses") > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > --- > v2: > * Fix commit message. > --- > tools/objtool/check.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/tools/objtool/check.c b/tools/objtool/check.c > index e55fdf952a3a..67afdce3421f 100644 > --- a/tools/objtool/check.c > +++ b/tools/objtool/check.c > @@ -999,6 +999,16 @@ static const char *uaccess_safe_builtin[] = { > "__tsan_read_write4", > "__tsan_read_write8", > "__tsan_read_write16", > + "__tsan_volatile_read1", > + "__tsan_volatile_read2", > + "__tsan_volatile_read4", > + "__tsan_volatile_read8", > + "__tsan_volatile_read16", > + "__tsan_volatile_write1", > + "__tsan_volatile_write2", > + "__tsan_volatile_write4", > + "__tsan_volatile_write8", > + "__tsan_volatile_write16", > "__tsan_atomic8_load", > "__tsan_atomic16_load", > "__tsan_atomic32_load", > -- > 2.37.2.789.g6183377224-goog >