[PATCH 3/4] objdump: add UACCESS exception for more stringops

From: Arnd Bergmann
Date: Wed Feb 08 2023 - 11:41:11 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

The memset/memmove/memcpy string functions are wrapped in different
ways based on configuration. While the __asan_mem* functions already
have exceptions, the ones called from those do not:

mm/kasan/shadow.o: warning: objtool: __asan_memset+0x30: call to __memset() with UACCESS enabled
mm/kasan/shadow.o: warning: objtool: __asan_memmove+0x51: call to __memmove() with UACCESS enabled
mm/kasan/shadow.o: warning: objtool: __asan_memcpy+0x51: call to __memcpy() with UACCESS enabled
vmlinux.o: warning: objtool: .altinstr_replacement+0x1406: call to memcpy_erms() with UACCESS enabled
vmlinux.o: warning: objtool: .altinstr_replacement+0xed0: call to memset_erms() with UACCESS enabled
vmlinux.o: warning: objtool: memset+0x4: call to memset_orig() with UACCESS enabled
vmlinux.o: warning: objtool: memset+0x4: call to memset_orig() with UACCESS enabled

Add these to the list as well.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
tools/objtool/check.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 0f67c6a8bc98..e8fb3bf7a2e3 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1248,6 +1248,13 @@ static const char *uaccess_safe_builtin[] = {
"clear_user_erms",
"clear_user_rep_good",
"clear_user_original",
+ "__memset",
+ "__memcpy",
+ "__memmove",
+ "memset_erms",
+ "memcpy_erms",
+ "memset_orig",
+ "memcpy_orig",
NULL
};

--
2.39.1