mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
samples/bpf: Remove compiler warnings
Commit 5fbc220862
("tools/libpf: Add offsetof/container_of macro
in bpf_helpers.h") added macros offsetof/container_of to
bpf_helpers.h. Unfortunately, it caused compilation warnings
below for a few samples/bpf programs:
In file included from /data/users/yhs/work/net-next/samples/bpf/sockex2_kern.c:4:
In file included from /data/users/yhs/work/net-next/include/uapi/linux/in.h:24:
In file included from /data/users/yhs/work/net-next/include/linux/socket.h:8:
In file included from /data/users/yhs/work/net-next/include/linux/uio.h:8:
/data/users/yhs/work/net-next/include/linux/kernel.h:992:9: warning: 'container_of' macro redefined [-Wmacro-redefined]
^
/data/users/yhs/work/net-next/tools/lib/bpf/bpf_helpers.h:46:9: note: previous definition is here
^
1 warning generated.
CLANG-bpf samples/bpf/sockex3_kern.o
In all these cases, bpf_helpers.h is included first, followed by other
standard headers. The macro container_of is defined unconditionally
in kernel.h, causing the compiler warning.
The fix is to move bpf_helpers.h after standard headers.
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200513180223.2949987-1-yhs@fb.com
This commit is contained in:
parent
3c32cc1bce
commit
03421a92f5
@ -5,12 +5,12 @@
|
|||||||
* License as published by the Free Software Foundation.
|
* License as published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
#include <uapi/linux/bpf.h>
|
#include <uapi/linux/bpf.h>
|
||||||
#include <bpf/bpf_helpers.h>
|
|
||||||
#include <bpf/bpf_tracing.h>
|
|
||||||
#include <uapi/linux/ptrace.h>
|
#include <uapi/linux/ptrace.h>
|
||||||
#include <uapi/linux/perf_event.h>
|
#include <uapi/linux/perf_event.h>
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
#include <bpf/bpf_helpers.h>
|
||||||
|
#include <bpf/bpf_tracing.h>
|
||||||
|
|
||||||
#define _(P) ({typeof(P) val; bpf_probe_read(&val, sizeof(val), &P); val;})
|
#define _(P) ({typeof(P) val; bpf_probe_read(&val, sizeof(val), &P); val;})
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#include <uapi/linux/bpf.h>
|
#include <uapi/linux/bpf.h>
|
||||||
#include <bpf/bpf_helpers.h>
|
|
||||||
#include "bpf_legacy.h"
|
|
||||||
#include <uapi/linux/in.h>
|
#include <uapi/linux/in.h>
|
||||||
#include <uapi/linux/if.h>
|
#include <uapi/linux/if.h>
|
||||||
#include <uapi/linux/if_ether.h>
|
#include <uapi/linux/if_ether.h>
|
||||||
#include <uapi/linux/ip.h>
|
#include <uapi/linux/ip.h>
|
||||||
#include <uapi/linux/ipv6.h>
|
#include <uapi/linux/ipv6.h>
|
||||||
#include <uapi/linux/if_tunnel.h>
|
#include <uapi/linux/if_tunnel.h>
|
||||||
|
#include <bpf/bpf_helpers.h>
|
||||||
|
#include "bpf_legacy.h"
|
||||||
#define IP_MF 0x2000
|
#define IP_MF 0x2000
|
||||||
#define IP_OFFSET 0x1FFF
|
#define IP_OFFSET 0x1FFF
|
||||||
|
|
||||||
|
@ -5,8 +5,6 @@
|
|||||||
* License as published by the Free Software Foundation.
|
* License as published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
#include <uapi/linux/bpf.h>
|
#include <uapi/linux/bpf.h>
|
||||||
#include <bpf/bpf_helpers.h>
|
|
||||||
#include "bpf_legacy.h"
|
|
||||||
#include <uapi/linux/in.h>
|
#include <uapi/linux/in.h>
|
||||||
#include <uapi/linux/if.h>
|
#include <uapi/linux/if.h>
|
||||||
#include <uapi/linux/if_ether.h>
|
#include <uapi/linux/if_ether.h>
|
||||||
@ -14,6 +12,8 @@
|
|||||||
#include <uapi/linux/ipv6.h>
|
#include <uapi/linux/ipv6.h>
|
||||||
#include <uapi/linux/if_tunnel.h>
|
#include <uapi/linux/if_tunnel.h>
|
||||||
#include <uapi/linux/mpls.h>
|
#include <uapi/linux/mpls.h>
|
||||||
|
#include <bpf/bpf_helpers.h>
|
||||||
|
#include "bpf_legacy.h"
|
||||||
#define IP_MF 0x2000
|
#define IP_MF 0x2000
|
||||||
#define IP_OFFSET 0x1FFF
|
#define IP_OFFSET 0x1FFF
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user