Re: [PATCH 0/9] x86/entry fixes
From: Marco Elver
Date: Wed Jun 03 2020 - 08:09:17 EST
On Wed, 3 Jun 2020 at 14:08, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Wed, Jun 03, 2020 at 02:00:37PM +0200, Peter Zijlstra wrote:
> > On Wed, Jun 03, 2020 at 01:40:14PM +0200, Peter Zijlstra wrote:
> > > The first patch is a fix for x86/entry, I'm quicky runing out of brown paper bags again :/
> > >
> > > The rest goes on top of these:
> > >
> > > https://lkml.kernel.org/r/20200602173103.931412766@xxxxxxxxxxxxx
> > > https://lkml.kernel.org/r/20200602184409.22142-1-elver@xxxxxxxxxx
> > >
> > > patches from myself and Marco that enable *SAN builds. So far GCC-KASAN seen to
> > > behave quite well, I've yet to try UBSAN.
> >
> > GCC10 + UBSAN:
> >
> > vmlinux.o: warning: objtool: match_held_lock()+0x1b2: call to __ubsan_handle_type_mismatch_v1() leaves .noinstr.text section
> > vmlinux.o: warning: objtool: rcu_nmi_enter()+0x234: call to __ubsan_handle_out_of_bounds() leaves .noinstr.text section
> > vmlinux.o: warning: objtool: __rcu_is_watching()+0x59: call to __ubsan_handle_out_of_bounds() leaves .noinstr.text section
> >
> > All of them are marked noinstr. So I suppose UBSAN is just buggered in
> > GCC :-/
>
> CLANG11 + UBSAN:
>
> vmlinux.o: warning: objtool: exc_nmi()+0x1c3: call to __ubsan_handle_load_invalid_value() leaves .noinstr.text section
> vmlinux.o: warning: objtool: poke_int3_handler()+0x72: call to __ubsan_handle_load_invalid_value() leaves .noinstr.text section
> vmlinux.o: warning: objtool: mce_check_crashing_cpu()+0x71: call to __ubsan_handle_load_invalid_value() leaves .noinstr.text section
> vmlinux.o: warning: objtool: lock_is_held_type()+0x95: call to __ubsan_handle_out_of_bounds() leaves .noinstr.text section
> vmlinux.o: warning: objtool: rcu_nmi_enter()+0xba: call to __ubsan_handle_out_of_bounds() leaves .noinstr.text section
> vmlinux.o: warning: objtool: __rcu_is_watching()+0x2c: call to __ubsan_handle_out_of_bounds() leaves .noinstr.text section
>
> IOW, UBSAN appears to be completely hosed.
What is the .config you used? I somehow can't reproduce. I've applied
the patches on top of -tip/master.
Thanks,
-- Marco