[tip: objtool/core] objtool: Add stackleak instrumentation to uaccess safe list

From: tip-bot2 for Josh Poimboeuf
Date: Fri Apr 14 2023 - 10:48:19 EST


The following commit has been merged into the objtool/core branch of tip:

Commit-ID: 7f530fba1123edcad00d59e1a73019814935f0c1
Gitweb: https://git.kernel.org/tip/7f530fba1123edcad00d59e1a73019814935f0c1
Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
AuthorDate: Wed, 12 Apr 2023 10:29:35 -07:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Fri, 14 Apr 2023 16:08:27 +02:00

objtool: Add stackleak instrumentation to uaccess safe list

If a function has a large stack frame, the stackleak plugin adds a call
to stackleak_track_stack() after the prologue.

This function may be called in uaccess-enabled code. Add it to the
uaccess safe list.

Fixes the following warning:

vmlinux.o: warning: objtool: kasan_report+0x12: call to stackleak_track_stack() with UACCESS enabled

Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link: https://lkml.kernel.org/r/42e9b487ef89e9b237fd5220ad1c7cf1a2ad7eb8.1681320562.git.jpoimboe@xxxxxxxxxx
---
tools/objtool/check.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 9440b07..4c8ef81 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1279,6 +1279,8 @@ static const char *uaccess_safe_builtin[] = {
"__ubsan_handle_type_mismatch_v1",
"__ubsan_handle_shift_out_of_bounds",
"__ubsan_handle_load_invalid_value",
+ /* STACKLEAK */
+ "stackleak_track_stack",
/* misc */
"csum_partial_copy_generic",
"copy_mc_fragile",