aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv
diff options
context:
space:
mode:
authorGravatar Jisheng Zhang <jszhang@kernel.org> 2023-01-16 00:28:11 +0800
committerGravatar Palmer Dabbelt <palmer@rivosinc.com> 2023-02-21 17:21:50 -0800
commit91612cfb173619b38087449cd3811f9cb4420d94 (patch)
tree1837a9adcd7d0bf3ba96e38552ac011eea9adcf3 /arch/riscv
parentMerge patch series "riscv: improve link and support ARCH_WANT_LD_ORPHAN_WARN" (diff)
downloadlinux-91612cfb173619b38087449cd3811f9cb4420d94.tar.gz
linux-91612cfb173619b38087449cd3811f9cb4420d94.tar.bz2
linux-91612cfb173619b38087449cd3811f9cb4420d94.zip
riscv: alternative: proceed one more instruction for auipc/jalr pair
If we patched auipc + jalr pair, we'd better proceed one more instruction. Andrew pointed out "There's not a problem now, since we're only adding a fixup for jal, not jalr, but we should future-proof this and there's no reason to revisit an already fixed-up instruction anyway." Signed-off-by: Jisheng Zhang <jszhang@kernel.org> Suggested-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/r/20230115162811.3146-1-jszhang@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv')
-rw-r--r--arch/riscv/kernel/alternative.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/riscv/kernel/alternative.c b/arch/riscv/kernel/alternative.c
index fc341b69bf62..2354c69dc7d1 100644
--- a/arch/riscv/kernel/alternative.c
+++ b/arch/riscv/kernel/alternative.c
@@ -122,6 +122,7 @@ void riscv_alternative_fix_offsets(void *alt_ptr, unsigned int len,
riscv_alternative_fix_auipc_jalr(alt_ptr + i * sizeof(u32),
insn, insn2, patch_offset);
+ i++;
}
if (riscv_insn_is_jal(insn)) {