bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF
If the kernel is compiled with CONFIG_CGROUP_BPF not enabled, it is not possible to attach, detach or query IR BPF programs to /dev/lircN devices, making them impossible to use. For embedded devices, it should be possible to use IR decoding without cgroups or CONFIG_CGROUP_BPF enabled. This change requires some refactoring, since bpf_prog_{attach,detach,query} functions are now always compiled, but their code paths for cgroups need moving out. Rather than a #ifdef CONFIG_CGROUP_BPF in kernel/bpf/syscall.c, moving them to kernel/bpf/cgroup.c and kernel/bpf/sockmap.c does not require #ifdefs since that is already conditionally compiled. Fixes: f4364dcf ("media: rc: introduce BPF_PROG_LIRC_MODE2") Signed-off-by:Sean Young <sean@mess.org> Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net>
Showing
- drivers/media/rc/bpf-lirc.c 2 additions, 12 deletionsdrivers/media/rc/bpf-lirc.c
- include/linux/bpf-cgroup.h 26 additions, 0 deletionsinclude/linux/bpf-cgroup.h
- include/linux/bpf.h 8 additions, 0 deletionsinclude/linux/bpf.h
- include/linux/bpf_lirc.h 3 additions, 2 deletionsinclude/linux/bpf_lirc.h
- kernel/bpf/cgroup.c 54 additions, 0 deletionskernel/bpf/cgroup.c
- kernel/bpf/sockmap.c 18 additions, 0 deletionskernel/bpf/sockmap.c
- kernel/bpf/syscall.c 21 additions, 78 deletionskernel/bpf/syscall.c
Loading
Please register or sign in to comment