[bpf-next] bpf, x86: initialize the variable "first_off" in save_args()

Message ID 20230719110330.2007949-1-imagedong@tencent.com
State New
Headers
Series [bpf-next] bpf, x86: initialize the variable "first_off" in save_args() |

Commit Message

Menglong Dong July 19, 2023, 11:03 a.m. UTC
  From: Menglong Dong <imagedong@tencent.com>

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>
---
 arch/x86/net/bpf_jit_comp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org July 19, 2023, 5 p.m. UTC | #1
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Wed, 19 Jul 2023 19:03:30 +0800 you wrote:
> From: Menglong Dong <imagedong@tencent.com>
> 
> 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>
> 
> [...]

Here is the summary with links:
  - [bpf-next] bpf, x86: initialize the variable "first_off" in save_args()
    https://git.kernel.org/bpf/bpf-next/c/492e797fdab2

You are awesome, thank you!
  

Patch

diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
index 5ab531be56ac..83c4b45dc65f 100644
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -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.