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 > >