On Thu, Oct 17, 2019 at 11:05:01AM +0200, Sebastian Andrzej Siewior wrote: > 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 For the latter you'd also need to disable seccomp-BPF and everything cBPF related as they are /all/ invoked via BPF_PROG_RUN() ... > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > > I tried to fix the memory allocations in > http://lkml.kernel.org/r/20190410143025.11997-1-bigeasy@xxxxxxxxxxxxx > > 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---