OSDN Git Service
(root)
/
sagit-ice-cold
/
kernel_xiaomi_msm8998.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b26157d
)
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>
Sat, 26 May 2018 06:48:56 +0000
(08:48 +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
f41d520
..
590e939
100644
(file)
--- a/
arch/s390/kernel/irq.c
+++ b/
arch/s390/kernel/irq.c
@@
-173,10
+173,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 {