On Mon, May 27, 2024 at 03:44:44PM -0700, Alexei Starovoitov wrote: > > 484611357c19f9 Josef Bacik 2016-09-28 15313 if (BPF_SRC(insn->code) == BPF_X) { > > 5f99f312bd3bed Andrii Nakryiko 2023-11-11 15314 err = reg_set_min_max(env, > > 689049426b9d3b Alexei Starovoitov 2024-05-24 @15315 other_dst_reg, other_src_reg, > > ^^^^^^^^^^^^^ > > > > 4621202adc5bc0 Andrii Nakryiko 2023-11-01 15316 dst_reg, src_reg, opcode, is_jmp32); > > 4621202adc5bc0 Andrii Nakryiko 2023-11-01 15317 } else /* BPF_SRC(insn->code) == BPF_K */ { > > 5f99f312bd3bed Andrii Nakryiko 2023-11-11 15318 err = reg_set_min_max(env, > > 689049426b9d3b Alexei Starovoitov 2024-05-24 15319 other_dst_reg, > > ^^^^^^^^^^^^^ > > Passed to reg_set_min_max() without being initialized. > > No. It's initialized when passed. It's a false positive. > Try to make smatch smarter? Ah yes. I didn't read it carefully enough. The kbuild bot doesn't use cross function analysis. So it didn't know that pred can only be -1, 0, or 1. If you have cross function analysis this should work. Unfortunately cross function analysis is too slow to scale enough for the zero day bot. regards, dan carpenter