2023-01-15 17:09:10

by Jisheng Zhang

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
Suggested-by: Andrew Jones <[email protected]>
---
arch/riscv/kernel/alternative.c | 1 +
1 file changed, 1 insertion(+)

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)) {
--
2.38.1


2023-01-19 09:07:23

by Andrew Jones

[permalink] [raw]
Subject: Re: [PATCH] riscv: alternative: proceed one more instruction for auipc/jalr pair

On Mon, Jan 16, 2023 at 12:28:11AM +0800, Jisheng Zhang wrote:
> 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 <[email protected]>
> Suggested-by: Andrew Jones <[email protected]>
> ---
> arch/riscv/kernel/alternative.c | 1 +
> 1 file changed, 1 insertion(+)
>
> 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)) {
> --
> 2.38.1
>

Reviewed-by: Andrew Jones <[email protected]>

2023-01-19 18:30:18

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH] riscv: alternative: proceed one more instruction for auipc/jalr pair

Am Sonntag, 15. Januar 2023, 17:28:11 CET schrieb Jisheng Zhang:
> 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 <[email protected]>
> Suggested-by: Andrew Jones <[email protected]>

Reviewed-by: Heiko Stuebner <[email protected]>


Subject: Re: [PATCH] riscv: alternative: proceed one more instruction for auipc/jalr pair

Hello:

This patch was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <[email protected]>:

On Mon, 16 Jan 2023 00:28:11 +0800 you wrote:
> 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 <[email protected]>
> Suggested-by: Andrew Jones <[email protected]>
>
> [...]

Here is the summary with links:
- riscv: alternative: proceed one more instruction for auipc/jalr pair
https://git.kernel.org/riscv/c/91612cfb1736

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html