lkml.org 
[lkml]   [2017]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/3] x86/entry: Fix idtentry unwind hint
    Date
    This fixes the following ORC warning in the 'int3' entry code:

    WARNING: can't dereference iret registers at ffff8801c5f17fe0 for ip ffffffff95f0d94b

    The ORC metadata had the wrong stack offset for the iret registers.

    Their location on the stack is dependent on whether the exception has an
    error code.

    Reported-and-tested-by: Andrei Vagin <avagin@virtuozzo.com>
    Fixes: 8c1f75587a18 ("x86/entry/64: Add unwind hint annotations")
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    ---
    arch/x86/entry/entry_64.S | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
    index 49167258d587..f6cdb7a1455e 100644
    --- a/arch/x86/entry/entry_64.S
    +++ b/arch/x86/entry/entry_64.S
    @@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR irq_work_interrupt smp_irq_work_interrupt

    .macro idtentry sym do_sym has_error_code:req paranoid=0 shift_ist=-1
    ENTRY(\sym)
    - UNWIND_HINT_IRET_REGS offset=8
    + UNWIND_HINT_IRET_REGS offset=\has_error_code*8

    /* Sanity check */
    .if \shift_ist != -1 && \paranoid == 0
    --
    2.13.6
    \
     
     \ /
      Last update: 2017-10-22 17:44    [W:2.845 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site