Skip to contentSkip to conversation

Can't unwind through dispatch_illegal_op_fault

PATCH New Bob Montgomery 1 participant 1 message Mar 31, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Can't unwind through dispatch_illegal_op_fault

Tony,

Here is the patch worked out with David Mosberger to fix the unwind info for dispatch_illegal_op_fault in ivt.S. Before adding this patch, an illegal op in the kernel would not show a complete stack trace in the oops message.

Add PT_REGS_UNWIND_INFO to dispatch_illegal_op_fault to allow stack unwind to continue through that stack level when kernel code commits an illegal operation.

arch/ia64/kernel/ivt.S +3 -0
@@ -957,6 +957,8 @@ END(ia64_syscall_setup)
 	 * element, followed by the arguments.
 	 */
 ENTRY(dispatch_illegal_op_fault)
+	.prologue
+	.body
 	SAVE_MIN_WITH_COVER
 	ssm psr.ic | PSR_DEFAULT_BITS
 	;;
@@ -969,6 +971,7 @@ ENTRY(dispatch_illegal_op_fault)
 	mov out0=ar.ec
 	;;
 	SAVE_REST
+	PT_REGS_UNWIND_INFO(0)
 	;;
 	br.call.sptk.many rp=ia64_illegal_op_fault
 .ret0:	;;
Signature · 1 line
Bob Montgomery <[email protected]>