On Sat, Dec 2, 2023 at 3:06 PM Andrei Matei <andreimatei1@xxxxxxxxx> wrote: > Please add some commit message here, even if a single sentence one. > Signed-off-by: Andrei Matei <andreimatei1@xxxxxxxxx> > --- > include/linux/bpf_verifier.h | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/include/linux/bpf_verifier.h b/include/linux/bpf_verifier.h > index aa4d19d0bc94..ec3612c2b057 100644 > --- a/include/linux/bpf_verifier.h > +++ b/include/linux/bpf_verifier.h > @@ -316,7 +316,17 @@ struct bpf_func_state { > /* The following fields should be last. See copy_func_state() */ > int acquired_refs; > struct bpf_reference_state *refs; > + /* Size of the current stack, in bytes. The stack state is tracked below, in > + * `stack`. allocated_stack is always a multiple of BPF_REG_SIZE. > + */ > int allocated_stack; > + /* The state of the stack. Each element of the array describes BPF_REG_SIZE > + * (i.e. 8) bytes worth of stack memory. > + * stack[0] represents bytes [*(r10-8)..*(r10-1)] > + * stack[1] represents bytes [*(r10-16)..*(r10-9)] > + * ... > + * stack[allocated_stack/8 - 1] represents [*(r10-allocated_size)..*(r10-allocated_size+7)] > + */ > struct bpf_stack_state *stack; > }; > > @@ -630,6 +640,10 @@ struct bpf_verifier_env { > int exception_callback_subprog; > bool explore_alu_limits; > bool allow_ptr_leaks; > + /* Allow access to uninitialized stack memory. Writes with fixed offset are > + * always allowed, so this refers to reads (with fixed or variable offset), > + * to writes with variable offset and to indirect (helper) accesses. > + */ > bool allow_uninit_stack; > bool bpf_capable; > bool bypass_spec_v1; > -- > 2.40.1 >