Re: [PATCH 0/9] x86/entry fixes

From: Marco Elver
Date: Wed Jun 03 2020 - 15:10:18 EST


On Wed, 3 Jun 2020 at 20:16, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Wed, Jun 03, 2020 at 06:07:22PM +0200, Peter Zijlstra wrote:
> > On Wed, Jun 03, 2020 at 04:47:54PM +0200, Marco Elver wrote:
>
> > > With that in mind, you could whitelist "__ubsan_handle"-prefixed
> > > functions in objtool. Given the __always_inline+noinstr+__ubsan_handle
> > > case is quite rare, it might be reasonable.
> >
> > Yes, I think so. Let me go have dinner and then I'll try and do a patch
> > to that effect.
>
> Here's a slightly more radical patch, it unconditionally allows UBSAN.
>
> I've not actually boot tested this.. yet.
>
> ---
> Subject: x86/entry, ubsan, objtool: Whitelist __ubsan_handle_*()
> From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Date: Wed Jun 3 20:09:06 CEST 2020
>
> The UBSAN instrumentation only inserts external CALLs when things go
> 'BAD', much like WARN(). So treat them similar to WARN()s for noinstr,
> that is: allow them, at the risk of taking the machine down, to get
> their message out.
>
> Suggested-by: Marco Elver <elver@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>

This is much cleaner, as it gets us UBSAN coverage back. Seems to work
fine for me (only lightly tested), so

Acked-by: Marco Elver <elver@xxxxxxxxxx>

Thanks!