aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/mptcp.h
diff options
context:
space:
mode:
authorOssama Othman <ossama.othman@intel.com>2022-06-27 18:02:42 -0700
committerJakub Kicinski <kuba@kernel.org>2022-06-28 20:45:43 -0700
commit06e445f740c1a0fe5d16b3dff8a4ef18e124e54e (patch)
treefb6a57478ab6c092ff12ce498d97158130e9a6b0 /include/uapi/linux/mptcp.h
parentselftests: mptcp: more stable diag tests (diff)
downloadlinux-dev-06e445f740c1a0fe5d16b3dff8a4ef18e124e54e.tar.xz
linux-dev-06e445f740c1a0fe5d16b3dff8a4ef18e124e54e.zip
mptcp: fix conflict with <netinet/in.h>
Including <linux/mptcp.h> before the C library <netinet/in.h> header causes symbol redefinition errors at compile-time due to duplicate declarations and definitions in the <linux/in.h> header included by <linux/mptcp.h>. Explicitly include <netinet/in.h> before <linux/in.h> in <linux/mptcp.h> when __KERNEL__ is not defined so that the C library compatibility logic in <linux/libc-compat.h> is enabled when including <linux/mptcp.h> in user space code. Fixes: c11c5906bc0a ("mptcp: add MPTCP_SUBFLOW_ADDRS getsockopt support") Signed-off-by: Ossama Othman <ossama.othman@intel.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/uapi/linux/mptcp.h')
-rw-r--r--include/uapi/linux/mptcp.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
index 921963589904..dfe19bf13f4c 100644
--- a/include/uapi/linux/mptcp.h
+++ b/include/uapi/linux/mptcp.h
@@ -2,16 +2,17 @@
#ifndef _UAPI_MPTCP_H
#define _UAPI_MPTCP_H
+#ifndef __KERNEL__
+#include <netinet/in.h> /* for sockaddr_in and sockaddr_in6 */
+#include <sys/socket.h> /* for struct sockaddr */
+#endif
+
#include <linux/const.h>
#include <linux/types.h>
#include <linux/in.h> /* for sockaddr_in */
#include <linux/in6.h> /* for sockaddr_in6 */
#include <linux/socket.h> /* for sockaddr_storage and sa_family */
-#ifndef __KERNEL__
-#include <sys/socket.h> /* for struct sockaddr */
-#endif
-
#define MPTCP_SUBFLOW_FLAG_MCAP_REM _BITUL(0)
#define MPTCP_SUBFLOW_FLAG_MCAP_LOC _BITUL(1)
#define MPTCP_SUBFLOW_FLAG_JOIN_REM _BITUL(2)