Re: [PATCH bpf-next 5/7] bpf: preserve STACK_ZERO slots on partial reg spills

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2023-11-09 at 09:37 -0800, Andrii Nakryiko wrote:
[...]
> > > @@ -1355,6 +1355,21 @@ static void scrub_spilled_slot(u8 *stype)
> > >               *stype = STACK_MISC;
> > >  }
> > > 
> > > +/* Mark stack slot as STACK_MISC, unless it is already STACK_INVALID, in which
> > > + * case they are equivalent, or it's STACK_ZERO, in which case we preserve
> > > + * more precise STACK_ZERO.
> > > + * Note, in uprivileged mode leaving STACK_INVALID is wrong, so we take
> > > + * env->allow_ptr_leaks into account and force STACK_MISC, if necessary.
> > > + */
> > > +static void mark_stack_slot_misc(struct bpf_verifier_env *env, u8 *stype)
> > 
> > Nitpick: I find this name misleading, maybe something like "remove_spill_mark"?
> 
> remove_spill_mark is even more misleading, no? there is also DYNPTR
> and ITER stack slots?

Right, forgot about those...

> 
> maybe mark_stack_slot_scalar (though that's a bit misleading as well,
> as can be understood as marking slot as spilled SCALAR_VALUE
> register)? not sure, I think "slot_misc" is close enough as an
> approximation of what it's doing, modulo ZERO/INVALID

maybe_mark_stack_slot_misc?
The other similar function is named 'scrub_spilled_slot'. 






[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux