* Peter Zijlstra <pet...@infradead.org> wrote:

> On Thu, May 17, 2018 at 08:49:34AM -0500, Josh Poimboeuf wrote:
> > With the following commit:
> > 
> >   51bad67ffbce ("x86/asm: Pad assembly functions with INT3 instructions")
> > 
> > ... asm function alignments are padded with INT3, so it's no longer safe
> > to fall through to an aligned function.  Make sure we catch any such
> > cases with objtool.
> > 
> > Note this only adds checking for 64-bit, since objtool doesn't support
> > x86-32.
> > 
> > Suggested-by: Thomas Gleixner <t...@linutronix.de>
> > Suggested-by: Linus Torvalds <torva...@linux-foundation.org>
> > Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com>
> > ---
> >  arch/x86/kernel/head_64.S       |  2 --
> >  tools/objtool/arch.h            |  3 ++-
> >  tools/objtool/arch/x86/decode.c |  2 +-
> >  tools/objtool/check.c           | 11 ++++++++++-
> >  4 files changed, 13 insertions(+), 5 deletions(-)
> > 
> > diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
> > index 8344dd2f310a..3ed8cec6e765 100644
> > --- a/arch/x86/kernel/head_64.S
> > +++ b/arch/x86/kernel/head_64.S
> > @@ -285,11 +285,9 @@ ENTRY(early_idt_handler_array)
> >     .endif
> >     pushq $i                # 72(%rsp) Vector number
> >     jmp early_idt_handler_common
> > -   UNWIND_HINT_IRET_REGS
> >     i = i + 1
> >     .fill early_idt_handler_array + i*EARLY_IDT_HANDLER_SIZE - ., 1, 0xcc
> >     .endr
> > -   UNWIND_HINT_IRET_REGS offset=16
> >  END(early_idt_handler_array)
> >  
> >  early_idt_handler_common:
> 
> As noted on IRC; I got slightly confused what this was about.
> 
> Other than that:
> 
> Acked-by: Peter Zijlstra (Intel) <pet...@infradead.org>

And after talking to you on IRC I added this paragraph to the changelog:

  Also remove incorrect and unnecessary unwinder hints from head_64.S
  which caused false positives in the new detection code.

Thanks,

        Ingo

Reply via email to