• Willem de Bruijn's avatar
    flow_dissector: fix build failure without CONFIG_NET · 2dfd184a
    Willem de Bruijn authored
    If boolean CONFIG_BPF_SYSCALL is enabled, kernel/bpf/syscall.c will
    call flow_dissector functions from net/core/flow_dissector.c.
    
    This causes this build failure if CONFIG_NET is disabled:
    
        kernel/bpf/syscall.o: In function `__x64_sys_bpf':
        syscall.c:(.text+0x3278): undefined reference to
        `skb_flow_dissector_bpf_prog_attach'
        syscall.c:(.text+0x3310): undefined reference to
        `skb_flow_dissector_bpf_prog_detach'
        kernel/bpf/syscall.o:(.rodata+0x3f0): undefined reference to
        `flow_dissector_prog_ops'
        kernel/bpf/verifier.o:(.rodata+0x250): undefined reference to
        `flow_dissector_verifier_ops'
    
    Analogous to other optional BPF program types in syscall.c, add stubs
    if the relevant functions are not compiled and move the BPF_PROG_TYPE
    definition in the #ifdef CONFIG_NET block.
    
    Fixes: d58e468b ("flow_dissector: implements flow dissector BPF hook")
    Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
    Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
    Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
    Acked-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    2dfd184a
skbuff.h 119 KB