[PATCH bpf-next 0/2] bpf: Track overlapping RCU protection

Ning Ding <[email protected]>
Newsgroups org.kernel.vger.bpf
Message-ID <[email protected]>
Preemption-disabled and IRQ-disabled regions provide RCU protection, but
the verifier does not account for them. Current implementation can invalidate 
a task kptr while another RCU source remains active, or keep it valid 
after the final source ends.

Track these regions and invalidate RCU-protected pointers only after the
last protection ends. Add task kptr tests for overlapping protection and
final-exit rejection.

This follows review of the applied spin-unlock fix series [1].

Tested in QEMU/KVM:
  ./test_progs -t task_kfunc
  ./test_progs -t preempt_lock
  ./test_progs -t irq

[1] https://lore.kernel.org/r/[email protected]

Ning Ding (2):
  bpf: Account for preempt and IRQ state in RCU protection
  selftests/bpf: Test overlapping RCU protection

 kernel/bpf/verifier.c                         |  13 +-
 .../selftests/bpf/prog_tests/task_kfunc.c     |   6 +
 .../selftests/bpf/progs/task_kfunc_common.h   |   2 +
 .../selftests/bpf/progs/task_kfunc_failure.c  |  49 ++++++
 .../selftests/bpf/progs/task_kfunc_success.c  | 147 ++++++++++++++++++
 5 files changed, 214 insertions(+), 3 deletions(-)


base-commit: 11c1e836710dcba03e50454a4eedfdbaf8d3050e
-- 
2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.