Re: [PATCH bpf-next v2 1/2] bpf: Allow usage of BPF ringbuffer in sleepable programs

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

 



On Thu, Feb 4, 2021 at 12:57 PM Song Liu <song@xxxxxxxxxx> wrote:
>
> On Thu, Feb 4, 2021 at 11:39 AM KP Singh <kpsingh@xxxxxxxxxx> wrote:
> >
> > The BPF ringbuffer map is pre-allocated and the implementation logic
> > does not rely on disabling preemption or per-cpu data structures. Using
> > the BPF ringbuffer sleepable LSM and tracing programs does not trigger
> > any warnings with DEBUG_ATOMIC_SLEEP, DEBUG_PREEMPT,
> > PROVE_RCU and PROVE_LOCKING and LOCKDEP enabled.
> >
> > This allows helpers like bpf_copy_from_user and bpf_ima_inode_hash to
> > write to the BPF ring buffer from sleepable BPF programs.
> >
> > Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> > Signed-off-by: KP Singh <kpsingh@xxxxxxxxxx>
> > ---
> >  kernel/bpf/verifier.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
> > index 5e09632efddb..4c33b4840438 100644
> > --- a/kernel/bpf/verifier.c
> > +++ b/kernel/bpf/verifier.c
> > @@ -10024,6 +10024,8 @@ static int check_map_prog_compatibility(struct bpf_verifier_env *env,
> >                                 return -EINVAL;
> >                         }
> >                         break;
> > +               case BPF_MAP_TYPE_RINGBUF:
> > +                       break;
> >                 default:
> >                         verbose(env,
> >                                 "Sleepable programs can only use array and hash maps\n");
>
> Shall we update this message?
>

I fixed it up while applying. Thanks for staying alert!

> Thanks,
> Song
>
> > --
> > 2.30.0.365.g02bc693789-goog
> >



[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