LoongArch: BPF: Rename and refactor validate_code()
authorChenghao Duan <duanchenghao@kylinos.cn>
Tue, 5 Aug 2025 11:00:18 +0000 (19:00 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Tue, 5 Aug 2025 11:00:18 +0000 (19:00 +0800)
1. Rename the existing validate_code() to validate_ctx()
2. Factor out the code validation handling into a new helper
   validate_code()

Then:

* validate_code() is used to check the validity of code.
* validate_ctx() is used to check both code validity and table entry
  correctness.

The new validate_code() will be used in subsequent changes.

Reviewed-by: Hengqi Chen <hengqi.chen@gmail.com>
Co-developed-by: George Guo <guodongtai@kylinos.cn>
Signed-off-by: George Guo <guodongtai@kylinos.cn>
Signed-off-by: Chenghao Duan <duanchenghao@kylinos.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/net/bpf_jit.c

index fa1500d4aa3e3a3424468b20e634709fd4c54d96..7032f11d3a21bcfabe4837434b046c95844dd720 100644 (file)
@@ -1180,6 +1180,14 @@ static int validate_code(struct jit_ctx *ctx)
                        return -1;
        }
 
+       return 0;
+}
+
+static int validate_ctx(struct jit_ctx *ctx)
+{
+       if (validate_code(ctx))
+               return -1;
+
        if (WARN_ON_ONCE(ctx->num_exentries != ctx->prog->aux->num_exentries))
                return -1;
 
@@ -1288,7 +1296,7 @@ skip_init_ctx:
        build_epilogue(&ctx);
 
        /* 3. Extra pass to validate JITed code */
-       if (validate_code(&ctx)) {
+       if (validate_ctx(&ctx)) {
                bpf_jit_binary_free(header);
                prog = orig_prog;
                goto out_offset;