[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YpTD6k95/4dShUl1@elver.google.com>
Date: Mon, 30 May 2022 15:17:30 +0200
From: Marco Elver <elver@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: x86@...nel.org, jpoimboe@...hat.com, linux-kernel@...r.kernel.org,
jbaron@...mai.com, rostedt@...dmis.org, ardb@...nel.org,
mark.rutland@....com, kernel test robot <lkp@...el.com>
Subject: Re: [PATCH 3/7] objtool: Mark __ubsan_handle_builtin_unreachable()
as noreturn
On Thu, May 26, 2022 at 12:52PM +0200, Peter Zijlstra wrote:
> fs/ntfs3/ntfs3.prelink.o: warning: objtool: ni_read_frame() falls through to next function ni_readpage_cmpr.cold()
>
> That is in fact:
>
> 000000000000124a <ni_read_frame.cold>:
> 124a: 44 89 e0 mov %r12d,%eax
> 124d: 0f b6 55 98 movzbl -0x68(%rbp),%edx
> 1251: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 1254: R_X86_64_32S .data+0x1380
> 1258: 48 89 c6 mov %rax,%rsi
> 125b: e8 00 00 00 00 call 1260 <ni_read_frame.cold+0x16> 125c: R_X86_64_PLT32 __ubsan_handle_shift_out_of_bounds-0x4
> 1260: 48 8d 7d cc lea -0x34(%rbp),%rdi
> 1264: e8 00 00 00 00 call 1269 <ni_read_frame.cold+0x1f> 1265: R_X86_64_PLT32 __tsan_read4-0x4
> 1269: 8b 45 cc mov -0x34(%rbp),%eax
> 126c: e9 00 00 00 00 jmp 1271 <ni_read_frame.cold+0x27> 126d: R_X86_64_PC32 .text+0x19109
> 1271: 48 8b 75 a0 mov -0x60(%rbp),%rsi
> 1275: 48 63 d0 movslq %eax,%rdx
> 1278: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 127b: R_X86_64_32S .data+0x13a0
> 127f: 89 45 88 mov %eax,-0x78(%rbp)
> 1282: e8 00 00 00 00 call 1287 <ni_read_frame.cold+0x3d> 1283: R_X86_64_PLT32 __ubsan_handle_shift_out_of_bounds-0x4
> 1287: 8b 45 88 mov -0x78(%rbp),%eax
> 128a: e9 00 00 00 00 jmp 128f <ni_read_frame.cold+0x45> 128b: R_X86_64_PC32 .text+0x19098
> 128f: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 1292: R_X86_64_32S .data+0x11f0
> 1296: e8 00 00 00 00 call 129b <ni_readpage_cmpr.cold> 1297: R_X86_64_PLT32 __ubsan_handle_builtin_unreachable-0x4
>
> 000000000000129b <ni_readpage_cmpr.cold>:
>
> Tell objtool that __ubsan_handle_builtin_unreachable() is a noreturn.
>
> Reported-by: kernel test robot <lkp@...el.com>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
> Link: https://lkml.kernel.org/r/20220502091514.GB479834@worktop.programming.kicks-ass.net
Acked-by: Marco Elver <elver@...gle.com>
> ---
> tools/objtool/check.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -185,6 +185,7 @@ static bool __dead_end_function(struct o
> "stop_this_cpu",
> "__invalid_creds",
> "cpu_startup_entry",
> + "__ubsan_handle_builtin_unreachable",
> };
>
> if (!func)
>
>
Powered by blists - more mailing lists