bpf, x86: initialize the variable "first_off" in save_args()
authorMenglong Dong <imagedong@tencent.com>
Wed, 19 Jul 2023 11:03:30 +0000 (19:03 +0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 19 Jul 2023 16:55:22 +0000 (09:55 -0700)
As Dan Carpenter reported, the variable "first_off" which is passed to
clean_stack_garbage() in save_args() can be uninitialized, which can
cause runtime warnings with KMEMsan. Therefore, init it with 0.

Fixes: 473e3150e30a ("bpf, x86: allow function arguments up to 12 for TRACING")
Cc: Hao Peng <flyingpeng@tencent.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/bpf/09784025-a812-493f-9829-5e26c8691e07@moroto.mountain/
Signed-off-by: Menglong Dong <imagedong@tencent.com>
Link: https://lore.kernel.org/r/20230719110330.2007949-1-imagedong@tencent.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/x86/net/bpf_jit_comp.c

index 5ab531b..83c4b45 100644 (file)
@@ -1925,7 +1925,7 @@ static int get_nr_used_regs(const struct btf_func_model *m)
 static void save_args(const struct btf_func_model *m, u8 **prog,
                      int stack_size, bool for_call_origin)
 {
-       int arg_regs, first_off, nr_regs = 0, nr_stack_slots = 0;
+       int arg_regs, first_off = 0, nr_regs = 0, nr_stack_slots = 0;
        int i, j;
 
        /* Store function arguments to stack.