[PATCH] BPF: Disable on PREEMPT_RT

Sebastian Andrzej Siewior
2019-10-17T09:05:04Z

Disable BPF on PREEMPT_RT because
- it allocates and frees memory in atomic context
- it uses up_read_non_owner()
- BPF_PROG_RUN() expects to be invoked in non-preemptible context

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---

I tried to fix the memory allocations in
http://lkml.kernel.org/r/20190410143025.11997-1-bigeasy@linutronix.de

but I have no idea how to address the other two issues.

init/Kconfig | 1 +
net/kcm/Kconfig | 1 +
2 files changed, 2 insertions(+)

--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1629,6 +1629,7 @@ config KALLSYMS_BASE_RELATIVE
# syscall, maps, verifier
config BPF_SYSCALL
bool "Enable bpf() system call"
+ depends on !PREEMPT_RT
select BPF
select IRQ_WORK
default n
--- a/net/kcm/Kconfig
+++ b/net/kcm/Kconfig
@@ -3,6 +3,7 @@
config AF_KCM
tristate "KCM sockets"
depends on INET
+ depends on !PREEMPT_RT
select BPF_SYSCALL
select STREAM_PARSER
---help---