bpf, arm64: Replace STACK_ALIGN() with round_up() to align stack size
authorTiezhu Yang <yangtiezhu@loongson.cn>
Mon, 10 May 2021 12:51:59 +0000 (20:51 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 12 May 2021 20:45:37 +0000 (22:45 +0200)
Use the common function round_up() directly to show the align size
explicitly, the function STACK_ALIGN() is needless, remove it. Other
JITs also just rely on round_up().

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/1620651119-5663-1-git-send-email-yangtiezhu@loongson.cn
arch/arm64/net/bpf_jit_comp.c

index f7b1948..9785026 100644 (file)
@@ -178,9 +178,6 @@ static bool is_addsub_imm(u32 imm)
        return !(imm & ~0xfff) || !(imm & ~0xfff000);
 }
 
-/* Stack must be multiples of 16B */
-#define STACK_ALIGN(sz) (((sz) + 15) & ~15)
-
 /* Tail call offset to jump into */
 #if IS_ENABLED(CONFIG_ARM64_BTI_KERNEL)
 #define PROLOGUE_OFFSET 8
@@ -255,7 +252,8 @@ static int build_prologue(struct jit_ctx *ctx, bool ebpf_from_cbpf)
                        emit(A64_BTI_J, ctx);
        }
 
-       ctx->stack_size = STACK_ALIGN(prog->aux->stack_depth);
+       /* Stack must be multiples of 16B */
+       ctx->stack_size = round_up(prog->aux->stack_depth, 16);
 
        /* Set up function call stack */
        emit(A64_SUB_I(1, A64_SP, A64_SP, ctx->stack_size), ctx);