On Thu, Apr 14, 2022 at 3:47 PM Alexander Lobakin <alobakin@xxxxx> wrote: > > Some standard C library implementations, e.g. Musl, ship the UAPI > definitions themselves to not be dependent on the UAPI headers and > their versions. Their kernel UAPI counterparts are usually guarded > with some definitions which the formers set in order to avoid > duplicate definitions. > In such cases, include order matters. Change it in two samples: in > the first, kernel UAPI ioctl definitions should go before the libc > ones, and the opposite story with the second, where the kernel > includes should go later to avoid struct redefinitions. > > Fixes: b4b8faa1ded7 ("samples/bpf: sample application and documentation for AF_XDP sockets") > Fixes: e55190f26f92 ("samples/bpf: Fix build for task_fd_query_user.c") > Signed-off-by: Alexander Lobakin <alobakin@xxxxx> Acked-by: Song Liu <songliubraving@xxxxxx> > --- > samples/bpf/task_fd_query_user.c | 2 +- > samples/bpf/xdpsock_user.c | 3 ++- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/samples/bpf/task_fd_query_user.c b/samples/bpf/task_fd_query_user.c > index 424718c0872c..5d3a60547f9f 100644 > --- a/samples/bpf/task_fd_query_user.c > +++ b/samples/bpf/task_fd_query_user.c > @@ -9,10 +9,10 @@ > #include <stdint.h> > #include <fcntl.h> > #include <linux/bpf.h> > +#include <linux/perf_event.h> > #include <sys/ioctl.h> > #include <sys/types.h> > #include <sys/stat.h> > -#include <linux/perf_event.h> > > #include <bpf/bpf.h> > #include <bpf/libbpf.h> > diff --git a/samples/bpf/xdpsock_user.c b/samples/bpf/xdpsock_user.c > index be7d2572e3e6..399b999fcec2 100644 > --- a/samples/bpf/xdpsock_user.c > +++ b/samples/bpf/xdpsock_user.c > @@ -7,14 +7,15 @@ > #include <linux/bpf.h> > #include <linux/if_link.h> > #include <linux/if_xdp.h> > -#include <linux/if_ether.h> > #include <linux/ip.h> > #include <linux/limits.h> > +#include <linux/net.h> > #include <linux/udp.h> > #include <arpa/inet.h> > #include <locale.h> > #include <net/ethernet.h> > #include <netinet/ether.h> > +#include <linux/if_ether.h> > #include <net/if.h> > #include <poll.h> > #include <pthread.h> > -- > 2.35.2 > >