Skip to content

bpf: Reject bpf_timer for PREEMPT_RT

Leon Hwang bpf 3 versions – Applied

Status from this message: This series was applied to bpf/bpf.git (master)

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest2 patches 0 repliesApplied 2/2
  2. v22 patches 11 repliesSuperseded
  3. v12 patches 0 repliesSuperseded

Changes in v3 from the cover letter

* Drop skipping test case 'timer_interrupt'.
* Address comments from Alexei:
* Respin targeting bpf tree.
* Trim commit log.

Patches in v3 All 2 applied

#Subject and filesSizeRepliesApplied
1/2bpf: Reject bpf_timer for PREEMPT_RTkernel/bpf/verifier.c+4 -00 repliesApplied
2/2selftests/bpf: Skip timer cases when bpf_timer is not supportedtools/testing/selftests/bpf/prog_tests/free_timer.c tools/testing/selftests/bpf/prog_tests/timer.c tools/testing/selftests/bpf/prog_tests/timer_crash.c +2 more+20 -00 repliesApplied

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH bpf v3 0/2] bpf: Reject bpf_timer for PREEMPT_RT

While running './test_progs -t timer' to validate the test case from "selftests/bpf: Introduce experimental bpf_in_interrupt()"[0] for PREEMPT_RT, I encountered a kernel warning:

BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48

To address this, reject bpf_timer usage in the verifier when PREEMPT_RT is enabled, and skip the corresponding timer selftests.

Changes:
v2 -> v3:
* Drop skipping test case 'timer_interrupt'.
* Address comments from Alexei:
* Respin targeting bpf tree.
* Trim commit log.

v1 -> v2:
* Skip test case 'timer_interrupt'.

Links:
[0] https://lore.kernel.org/bpf/[email protected]/

Leon Hwang (2):
bpf: Reject bpf_timer for PREEMPT_RT
selftests/bpf: Skip timer cases when bpf_timer is not supported

 kernel/bpf/verifier.c                                 | 4 ++++
 tools/testing/selftests/bpf/prog_tests/free_timer.c   | 4 ++++
 tools/testing/selftests/bpf/prog_tests/timer.c        | 4 ++++
 tools/testing/selftests/bpf/prog_tests/timer_crash.c  | 4 ++++
 tools/testing/selftests/bpf/prog_tests/timer_lockup.c | 4 ++++
 tools/testing/selftests/bpf/prog_tests/timer_mim.c    | 4 ++++
 6 files changed, 24 insertions(+)

--
2.50.1