summaryrefslogtreecommitdiff
path: root/system/iproute2/devlink-sysinfo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/iproute2/devlink-sysinfo.patch')
-rw-r--r--system/iproute2/devlink-sysinfo.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/system/iproute2/devlink-sysinfo.patch b/system/iproute2/devlink-sysinfo.patch
new file mode 100644
index 000000000..316fcefae
--- /dev/null
+++ b/system/iproute2/devlink-sysinfo.patch
@@ -0,0 +1,43 @@
+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 {
+ ^~~~~~~
+
+Rely on the kernel header alone to avoid kernel and userspace headers
+collision of definitions.
+
+Cc: Aya Levin <ayal@xxxxxxxxxxxx>
+Cc: Moshe Shemesh <moshe@xxxxxxxxxxxx>
+Signed-off-by: Baruch Siach <baruch@xxxxxxxxxx>
+---
+ devlink/devlink.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/devlink/devlink.c b/devlink/devlink.c
+index 436935f88bda..d7a6ce94f0e6 100644
+--- a/devlink/devlink.c
++++ b/devlink/devlink.c
+@@ -22,7 +22,7 @@
+ #include <linux/devlink.h>
+ #include <libmnl/libmnl.h>
+ #include <netinet/ether.h>
+-#include <sys/sysinfo.h>
++#include <linux/sysinfo.h>
+ #include <sys/queue.h>
+
+ #include "SNAPSHOT.h"
+--
+2.20.1 \ No newline at end of file