projects
/
platform
/
kernel
/
linux-exynos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ce2e68b
)
s390: remove indirect branch from do_softirq_own_stack
author
Martin Schwidefsky
<schwidefsky@de.ibm.com>
Tue, 24 Apr 2018 09:18:49 +0000
(11:18 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Tue, 22 May 2018 16:53:59 +0000
(18:53 +0200)
commit
9f18fff63cfd6f559daa1eaae60640372c65f84b
upstream.
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:
f19fbd5ed6
("s390: introduce execute-trampolines for branches")
Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/kernel/irq.c
patch
|
blob
|
history
diff --git
a/arch/s390/kernel/irq.c
b/arch/s390/kernel/irq.c
index
94f2099
..
3d17c41
100644
(file)
--- a/
arch/s390/kernel/irq.c
+++ b/
arch/s390/kernel/irq.c
@@
-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"
- " b
asr 14,%2
\n"
+ " b
rasl 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 {