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

Commit 9f18fff6 authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390: remove indirect branch from do_softirq_own_stack



The inline assembly to call __do_softirq on the irq stack uses
an indirect branch. This can be replaced with a normal relative
branch.

Cc: stable@vger.kernel.org # 4.16
Fixes: f19fbd5e ("s390: introduce execute-trampolines for branches")
Reviewed-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 4253b0e0
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -176,10 +176,9 @@ void do_softirq_own_stack(void)
		new -= STACK_FRAME_OVERHEAD;
		((struct stack_frame *) new)->back_chain = old;
		asm volatile("   la    15,0(%0)\n"
			     "   basr  14,%2\n"
			     "   brasl 14,__do_softirq\n"
			     "   la    15,0(%1)\n"
			     : : "a" (new), "a" (old),
			         "a" (__do_softirq)
			     : : "a" (new), "a" (old)
			     : "0", "1", "2", "3", "4", "5", "14",
			       "cc", "memory" );
	} else {