• Z
    bpf: fix missing header inclusion · 002245cc
    Zi Shen Lim 提交于
    Commit 0fc174de ("ebpf: make internal bpf API independent of
    CONFIG_BPF_SYSCALL ifdefs") introduced usage of ERR_PTR() in
    bpf_prog_get(), however did not include linux/err.h.
    
    Without this patch, when compiling arm64 BPF without CONFIG_BPF_SYSCALL:
    ...
    In file included from arch/arm64/net/bpf_jit_comp.c:21:0:
    include/linux/bpf.h: In function 'bpf_prog_get':
    include/linux/bpf.h:235:9: error: implicit declaration of function 'ERR_PTR' [-Werror=implicit-function-declaration]
      return ERR_PTR(-EOPNOTSUPP);
             ^
    include/linux/bpf.h:235:9: warning: return makes pointer from integer without a cast [-Wint-conversion]
    In file included from include/linux/rwsem.h:17:0,
                     from include/linux/mm_types.h:10,
                     from include/linux/sched.h:27,
                     from arch/arm64/include/asm/compat.h:25,
                     from arch/arm64/include/asm/stat.h:23,
                     from include/linux/stat.h:5,
                     from include/linux/compat.h:12,
                     from include/linux/filter.h:10,
                     from arch/arm64/net/bpf_jit_comp.c:22:
    include/linux/err.h: At top level:
    include/linux/err.h:23:35: error: conflicting types for 'ERR_PTR'
     static inline void * __must_check ERR_PTR(long error)
                                       ^
    In file included from arch/arm64/net/bpf_jit_comp.c:21:0:
    include/linux/bpf.h:235:9: note: previous implicit declaration of 'ERR_PTR' was here
      return ERR_PTR(-EOPNOTSUPP);
             ^
    ...
    
    Fixes: 0fc174de ("ebpf: make internal bpf API independent of CONFIG_BPF_SYSCALL ifdefs")
    Suggested-by: NDaniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: NZi Shen Lim <zlim.lnx@gmail.com>
    Acked-by: NDaniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    002245cc
bpf.h 8.4 KB