objtool: Add stackleak instrumentation to uaccess safe list
authorJosh Poimboeuf <jpoimboe@kernel.org>
Wed, 12 Apr 2023 17:29:35 +0000 (10:29 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 14 Apr 2023 14:08:27 +0000 (16:08 +0200)
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@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/42e9b487ef89e9b237fd5220ad1c7cf1a2ad7eb8.1681320562.git.jpoimboe@kernel.org
tools/objtool/check.c

index 9440b07..4c8ef81 100644 (file)
@@ -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",