Message ID | 20220824134055.1328882-3-benjamin.tissoires@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Introduce eBPF support for HID devices | expand |
On Wed, 24 Aug 2022 at 15:41, Benjamin Tissoires <benjamin.tissoires@redhat.com> wrote: > > The purpose of this clear is to prevent meta->raw_mode to be evaluated > at true, but this also prevents to forward any other data to the other > callees. > > Only switch back raw_mode to false so we don't entirely clear meta. > > Acked-by: Yonghong Song <yhs@fb.com> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > --- > > no changes in v9 > > no changes in v8 > > no changes in v7 > > new in v6 > --- > 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 d694f43ab911..13190487fb12 100644 > --- a/kernel/bpf/verifier.c > +++ b/kernel/bpf/verifier.c > @@ -5287,7 +5287,7 @@ static int check_mem_size_reg(struct bpf_verifier_env *env, > * initialize all the memory that the helper could > * just partially fill up. > */ > - meta = NULL; > + meta->raw_mode = false; But this is adding a side effect, the caller's meta->raw_mode becomes false, which the caller may not expect... > > if (reg->smin_value < 0) { > verbose(env, "R%d min value is negative, either use unsigned or 'var &= const'\n", > -- > 2.36.1 >
On Fri, Aug 26, 2022 at 3:55 AM Kumar Kartikeya Dwivedi <memxor@gmail.com> wrote: > > On Wed, 24 Aug 2022 at 15:41, Benjamin Tissoires > <benjamin.tissoires@redhat.com> wrote: > > > > The purpose of this clear is to prevent meta->raw_mode to be evaluated > > at true, but this also prevents to forward any other data to the other > > callees. > > > > Only switch back raw_mode to false so we don't entirely clear meta. > > > > Acked-by: Yonghong Song <yhs@fb.com> > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > > > --- > > > > no changes in v9 > > > > no changes in v8 > > > > no changes in v7 > > > > new in v6 > > --- > > 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 d694f43ab911..13190487fb12 100644 > > --- a/kernel/bpf/verifier.c > > +++ b/kernel/bpf/verifier.c > > @@ -5287,7 +5287,7 @@ static int check_mem_size_reg(struct bpf_verifier_env *env, > > * initialize all the memory that the helper could > > * just partially fill up. > > */ > > - meta = NULL; > > + meta->raw_mode = false; > > But this is adding a side effect, the caller's meta->raw_mode becomes > false, which the caller may not expect... Turns out that I don't need that patch anymore because I am not checking against is_kfunc in the previous patch. So dropping it from the next revision. Cheers, Benjamin > > > > > if (reg->smin_value < 0) { > > verbose(env, "R%d min value is negative, either use unsigned or 'var &= const'\n", > > -- > > 2.36.1 > > >
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index d694f43ab911..13190487fb12 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -5287,7 +5287,7 @@ static int check_mem_size_reg(struct bpf_verifier_env *env, * initialize all the memory that the helper could * just partially fill up. */ - meta = NULL; + meta->raw_mode = false; if (reg->smin_value < 0) { verbose(env, "R%d min value is negative, either use unsigned or 'var &= const'\n",