[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200603120818.GC2627@hirez.programming.kicks-ass.net>
Date: Wed, 3 Jun 2020 14:08:18 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: tglx@...utronix.de
Cc: x86@...nel.org, elver@...gle.com, paulmck@...nel.org,
kasan-dev@...glegroups.com, linux-kernel@...r.kernel.org,
will@...nel.org, dvyukov@...gle.com, glider@...gle.com,
andreyknvl@...gle.com
Subject: Re: [PATCH 0/9] x86/entry fixes
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@infradead.org
> > https://lkml.kernel.org/r/20200602184409.22142-1-elver@google.com
> >
> > 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.
Powered by blists - more mailing lists