diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2020-06-11 22:11:19 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-06-22 10:37:55 +1000 |
commit | 89bbe4c798bc3a43c882179adb5222c1a972ac70 (patch) | |
tree | b989e32f9e0abc1a5b113c3460cd5746e3e54b46 /arch | |
parent | 48778464bb7d346b47157d21ffde2af6b2d39110 (diff) | |
download | linux-89bbe4c798bc3a43c882179adb5222c1a972ac70.tar.bz2 |
powerpc/64: indirect function call use bctrl rather than blrl in ret_from_kernel_thread
blrl is not recommended to use as an indirect function call, as it may
corrupt the link stack predictor.
This is not a performance critical path but this should be fixed for
consistency.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200611121119.1015740-1-npiggin@gmail.com
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/entry_64.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 9d49338e0c85..1013adc9acfb 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S @@ -233,12 +233,12 @@ _GLOBAL(ret_from_fork) _GLOBAL(ret_from_kernel_thread) bl schedule_tail REST_NVGPRS(r1) - mtlr r14 + mtctr r14 mr r3,r15 #ifdef PPC64_ELF_ABI_v2 mr r12,r14 #endif - blrl + bctrl li r3,0 b .Lsyscall_exit |