Eduard Zingerman wrote: > > On Tue, 2022-08-23 at 16:15 -0700, John Fastabend wrote: > > Hi John, > > Thank you for commenting! > > > > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c > > > index 2c1f8069f7b7..c48d34625bfd 100644 > > > --- a/kernel/bpf/verifier.c > > > +++ b/kernel/bpf/verifier.c > > > @@ -472,6 +472,11 @@ static bool type_may_be_null(u32 type) > > > return type & PTR_MAYBE_NULL; > > > } > > > > > > +static bool type_is_pointer(enum bpf_reg_type type) > > > +{ > > > + return type != NOT_INIT && type != SCALAR_VALUE; > > > +} > > > + > > > > Instead of having another helper is_pointer_value() could work here? > > Checking if we need NOT_INIT in that helper now. > > Do you mean modifying the `__is_pointer_value` by adding a check > `reg->type != NOT_INIT`? > > I tried this out and tests are passing, but __is_pointer_value / > is_pointer_value are used in a lot of places, seem to be a scary > change, to be honest. Agree it looks scary I wanted to play around with it more. I agree its not the same and off to investigate a few places we use __is_pointer_value now. Might add a few more tests while I'm at it. > > Thanks, > Eduard