From: Baruch Siach Date: Thu, 27 Jun 2019 18:37:19 +0000 (+0300) Subject: devlink: fix libc and kernel headers collision X-Git-Tag: v5.4.0~94^2~4 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=d0272f5404773a60cbc17c2277affdbbf8d99c67;p=mirror_iproute2.git devlink: fix libc and kernel headers collision Since commit 2f1242efe9d ("devlink: Add devlink health show command") we use the sys/sysinfo.h header for the sysinfo(2) system call. But since iproute2 carries a local version of the kernel struct sysinfo, this causes a collision with libc that do not rely on kernel defined sysinfo like musl libc: In file included from devlink.c:25:0: .../sysroot/usr/include/sys/sysinfo.h:10:8: error: redefinition of 'struct sysinfo' struct sysinfo { ^~~~~~~ In file included from ../include/uapi/linux/kernel.h:5:0, from ../include/uapi/linux/netlink.h:5, from ../include/uapi/linux/genetlink.h:6, from devlink.c:21: ../include/uapi/linux/sysinfo.h:8:8: note: originally defined here struct sysinfo { ^~~~~~~ Move the sys/sysinfo.h userspace header before kernel headers, and suppress the indirect include of linux/sysinfo.h. Cc: Aya Levin Cc: Moshe Shemesh Signed-off-by: Baruch Siach Signed-off-by: Stephen Hemminger --- diff --git a/devlink/devlink.c b/devlink/devlink.c index 97b93730..5618ba26 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -19,11 +19,12 @@ #include #include #include +#include +#define _LINUX_SYSINFO_H /* avoid collision with musl header */ #include #include #include #include -#include #include #include "SNAPSHOT.h"