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? Thanks, Song > -- > 2.30.0.365.g02bc693789-goog >