Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ca04a4c authored by Rob Gardner's avatar Rob Gardner Committed by David S. Miller
Browse files

sparc64: Don't set %pil in rtrap_nmi too early



Commit 28a1f533 delays setting %pil to avoid potential
hardirq stack overflow in the common rtrap_irq path.
Setting %pil also needs to be delayed in the rtrap_nmi
path for the same reason.

Signed-off-by: default avatarRob Gardner <rob.gardner@oracle.com>
Signed-off-by: default avatarDave Aldridge <david.j.aldridge@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 82924e54
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -73,7 +73,13 @@ rtrap_nmi: ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
		andn			%l1, %l4, %l1
		andn			%l1, %l4, %l1
		srl			%l4, 20, %l4
		srl			%l4, 20, %l4
		ba,pt			%xcc, rtrap_no_irq_enable
		ba,pt			%xcc, rtrap_no_irq_enable
		 wrpr			%l4, %pil
		nop
		/* Do not actually set the %pil here.  We will do that
		 * below after we clear PSTATE_IE in the %pstate register.
		 * If we re-enable interrupts here, we can recurse down
		 * the hardirq stack potentially endlessly, causing a
		 * stack overflow.
		 */


		.align			64
		.align			64
		.globl			rtrap_irq, rtrap, irqsz_patchme, rtrap_xcall
		.globl			rtrap_irq, rtrap, irqsz_patchme, rtrap_xcall