mbox series

[bpf-next,v1,0/2] Global subprogs in RCU/{preempt,irq}-disabled sections

Message ID 20250228162858.1073529-1-memxor@gmail.com (mailing list archive)
Headers show
Series Global subprogs in RCU/{preempt,irq}-disabled sections | expand

Message

Kumar Kartikeya Dwivedi Feb. 28, 2025, 4:28 p.m. UTC
Small change to allow non-sleepable global subprogs in
RCU, preempt-disabled, and irq-disabled sections. For
now, we don't lift the limitation for locks as it requires
more analysis, and will do this one resilient spin locks
land.

This surfaced a bug where sleepable global subprogs were
allowed in RCU read sections, that has been fixed. Tests
have been added to cover various cases.

Kumar Kartikeya Dwivedi (2):
  bpf: Summarize sleepable global subprogs
  selftests/bpf: Test sleepable global subprogs in atomic contexts

 include/linux/bpf_verifier.h                  |  1 +
 kernel/bpf/verifier.c                         | 50 ++++++++++-----
 .../selftests/bpf/prog_tests/rcu_read_lock.c  |  2 +
 .../selftests/bpf/prog_tests/spin_lock.c      |  2 +
 tools/testing/selftests/bpf/progs/irq.c       | 62 ++++++++++++++++++-
 .../selftests/bpf/progs/preempt_lock.c        | 40 +++++++++++-
 .../selftests/bpf/progs/rcu_read_lock.c       | 38 ++++++++++++
 .../selftests/bpf/progs/test_spin_lock_fail.c | 40 ++++++++++++
 8 files changed, 219 insertions(+), 16 deletions(-)


base-commit: 0b9363131daf4227d5ae11ee677acdcfff06e938