Skip to content

Commit 98990a3

Browse files
jpoimboeIngo Molnar
authored andcommitted
x86/entry: Fix idtentry unwind hint
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> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Fixes: 8c1f755 ("x86/entry/64: Add unwind hint annotations") Link: http://lkml.kernel.org/r/931d57f0551ed7979d5e7e05370d445c8e5137f8.1508516398.git.jpoimboe@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent bfc1168 commit 98990a3

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/x86/entry/entry_64.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR irq_work_interrupt smp_irq_work_interrupt
808808

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

813813
/* Sanity check */
814814
.if \shift_ist != -1 && \paranoid == 0

0 commit comments

Comments
 (0)