All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] x86/entry: Fix idtentry unwind hint
@ 2017-10-20 16:21 Josh Poimboeuf
  2017-10-20 16:21 ` [PATCH 2/3] x86/unwind: Show function name+offset in ORC error messages Josh Poimboeuf
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Josh Poimboeuf @ 2017-10-20 16:21 UTC (permalink / raw)
  To: x86
  Cc: linux-kernel, Andrei Vagin, Ingo Molnar, torvalds, peterz, hpa,
	tglx, Andy Lutomirski

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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-12-20  6:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-20 16:21 [PATCH 1/3] x86/entry: Fix idtentry unwind hint Josh Poimboeuf
2017-10-20 16:21 ` [PATCH 2/3] x86/unwind: Show function name+offset in ORC error messages Josh Poimboeuf
2017-10-23 12:44   ` [tip:x86/asm] " tip-bot for Josh Poimboeuf
2017-10-20 16:21 ` [PATCH 3/3] x86/asm: Don't use the confusing '.ifeq' directive Josh Poimboeuf
2017-10-23 12:44   ` [tip:x86/asm] " tip-bot for Josh Poimboeuf
2017-10-23 12:43 ` [tip:x86/asm] x86/entry: Fix idtentry unwind hint tip-bot for Josh Poimboeuf
2017-10-25 21:07 ` [PATCH 1/3] " Andrei Vagin
2017-10-26 15:24   ` Josh Poimboeuf
2017-10-26 16:42     ` Andrei Vagin
2017-11-13 22:06     ` Andrei Vagin
2017-11-13 22:59       ` Josh Poimboeuf
     [not found]         ` <AM4PR08MB07393706B7D76768D4817AC2CF0C0@AM4PR08MB0739.eurprd08.prod.outlook.com>
2017-12-20  6:34           ` Josh Poimboeuf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.