2024-05-22 05:42:12

by Wang, Xiao W

[permalink] [raw]
Subject: [PATCH] riscv, bpf: Use STACK_ALIGN macro for size rounding up

Use the macro STACK_ALIGN that is defined in asm/processor.h for stack size
rounding up, just like bpf_jit_comp32.c does.

Signed-off-by: Xiao Wang <[email protected]>
---
arch/riscv/net/bpf_jit_comp64.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/riscv/net/bpf_jit_comp64.c b/arch/riscv/net/bpf_jit_comp64.c
index 39149ad002da..bd869d41612f 100644
--- a/arch/riscv/net/bpf_jit_comp64.c
+++ b/arch/riscv/net/bpf_jit_comp64.c
@@ -858,7 +858,7 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im,
stack_size += 8;
sreg_off = stack_size;

- stack_size = round_up(stack_size, 16);
+ stack_size = round_up(stack_size, STACK_ALIGN);

if (!is_struct_ops) {
/* For the trampoline called from function entry,
@@ -1723,7 +1723,7 @@ void bpf_jit_build_prologue(struct rv_jit_context *ctx, bool is_subprog)
{
int i, stack_adjust = 0, store_offset, bpf_stack_adjust;

- bpf_stack_adjust = round_up(ctx->prog->aux->stack_depth, 16);
+ bpf_stack_adjust = round_up(ctx->prog->aux->stack_depth, STACK_ALIGN);
if (bpf_stack_adjust)
mark_fp(ctx);

@@ -1743,7 +1743,7 @@ void bpf_jit_build_prologue(struct rv_jit_context *ctx, bool is_subprog)
if (seen_reg(RV_REG_S6, ctx))
stack_adjust += 8;

- stack_adjust = round_up(stack_adjust, 16);
+ stack_adjust = round_up(stack_adjust, STACK_ALIGN);
stack_adjust += bpf_stack_adjust;

store_offset = stack_adjust - 8;
--
2.25.1



2024-05-23 03:12:29

by Wang, Xiao W

[permalink] [raw]
Subject: RE: [PATCH] riscv, bpf: Use STACK_ALIGN macro for size rounding up



> -----Original Message-----
> From: Pu Lehui <[email protected]>
> Sent: Thursday, May 23, 2024 9:43 AM
> To: Wang, Xiao W <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected]; linux-
> [email protected]; [email protected]; [email protected];
> Li, Haicheng <[email protected]>
> Subject: Re: [PATCH] riscv, bpf: Use STACK_ALIGN macro for size rounding up
>
>
> On 2024/5/22 13:45, Xiao Wang wrote:
> > Use the macro STACK_ALIGN that is defined in asm/processor.h for stack size
> > rounding up, just like bpf_jit_comp32.c does.
> >
> > Signed-off-by: Xiao Wang <[email protected]>
> > ---
> > arch/riscv/net/bpf_jit_comp64.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
>
> It met a patching conflict. I think you should target for the bpf-next tree.
> https://github.com/kernel-patches/bpf/pull/7080

OK, I would make v2 based on bpf-next.

BRs,
Xiao