diff options
author | Marco Elver <elver@google.com> | 2022-09-12 12:45:41 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-14 12:15:10 +0300 |
commit | 933499bed78dc9daa9be8ede7c7c9be1951a2d87 (patch) | |
tree | 0c4e9d8c245ed82968cb8995013db6864f4959e6 /tools/objtool | |
parent | 275a67e909f784e52a0d064eb841d77a79bd3632 (diff) | |
download | linux-933499bed78dc9daa9be8ede7c7c9be1951a2d87.tar.xz |
objtool, kcsan: Add volatile read/write instrumentation to whitelist
[ Upstream commit 63646fcba5bb4b59a19031c21913f94e46a3d0d4 ]
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@google.com>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools/objtool')
-rw-r--r-- | tools/objtool/check.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index ea80b29b9913..5d64b673da2d 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -802,6 +802,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", |