Re: [PATCH bpf v3 1/3] bpf: add some comments to stack representation

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

 



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
>





[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