On Tue, Nov 10, 2020 at 3:50 AM <xiakaixu1987@xxxxxxxxx> wrote: > > From: Kaixu Xia <kaixuxia@xxxxxxxxxxx> > > The unsigned variable datasec_id is assigned a return value from the call > to check_pseudo_btf_id(), which may return negative error code. > > Fixes coccicheck warning: > > ./kernel/bpf/verifier.c:9616:5-15: WARNING: Unsigned expression compared with zero: datasec_id > 0 > > Reported-by: Tosk Robot <tencent_os_robot@xxxxxxxxxxx> > Signed-off-by: Kaixu Xia <kaixuxia@xxxxxxxxxxx> > --- > kernel/bpf/verifier.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > index 6200519582a6..e9d8d4309bb4 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -9572,7 +9572,7 @@ static int check_pseudo_btf_id(struct bpf_verifier_env *env, > struct bpf_insn *insn, > struct bpf_insn_aux_data *aux) > { > - u32 datasec_id, type, id = insn->imm; > + s32 datasec_id, type, id = insn->imm; you are changing types for type and id variables here, so split out datasec_id definition into a separate line > const struct btf_var_secinfo *vsi; > const struct btf_type *datasec; > const struct btf_type *t; > -- > 2.20.0 >