Commit e944fc81 authored by Xiao Wang's avatar Xiao Wang Committed by Daniel Borkmann
Browse files

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: default avatarXiao Wang <xiao.w.wang@intel.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Reviewed-by: default avatarPu Lehui <pulehui@huawei.com>
Link: https://lore.kernel.org/bpf/20240523031835.3977713-1-xiao.w.wang@intel.com
parent c12603e7
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -868,7 +868,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,
@@ -1960,7 +1960,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);

@@ -1982,7 +1982,7 @@ void bpf_jit_build_prologue(struct rv_jit_context *ctx, bool is_subprog)
	if (ctx->arena_vm_start)
		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;