aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-01-24 02:26:35 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-01-24 02:26:35 +0000
commit359545a6aeec28a25a0ba59f71320489bedfeaa9 (patch)
tree1d8c3da5bf4d7e9d7e208ba2232ab2bf3308c6b4
parentf39768d940ffdbd9ba7a795af279efa8371cb08c (diff)
parenta49f6aaa53dabc26c26773557f403229f09e17fe (diff)
downloadiproute2-android11-qpr2-release.tar.gz
Merge "ANDROID: Fix 32-bit x86 iproute2 on 64-bit kernel" am: 68454405a4 am: cd4884e9d6 am: a49f6aaa53r_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-releaseandroid11-d1-b-release
Change-Id: Ifde7908cd3e411a3ba7d46ab24a8c75adbceecfe
l---------include/linux/xfrm.h1
-rw-r--r--include/uapi/linux/xfrm.h12
-rw-r--r--ip/xfrm.h13
3 files changed, 24 insertions, 2 deletions
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h
new file mode 120000
index 00000000..f43ae1b4
--- /dev/null
+++ b/include/linux/xfrm.h
@@ -0,0 +1 @@
+../uapi/linux/xfrm.h \ No newline at end of file
diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h
index 93fb1920..8312d3d1 100644
--- a/include/uapi/linux/xfrm.h
+++ b/include/uapi/linux/xfrm.h
@@ -381,7 +381,11 @@ struct xfrm_usersa_info {
#define XFRM_STATE_AF_UNSPEC 32
#define XFRM_STATE_ALIGN4 64
#define XFRM_STATE_ESN 128
-};
+}
+#ifdef __i386__
+__attribute__((aligned(8))) /* b/138147164 */
+#endif
+;
#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP 1
@@ -420,7 +424,11 @@ struct xfrm_userpolicy_info {
/* Automatically expand selector to include matching ICMP payloads. */
#define XFRM_POLICY_ICMP 2
__u8 share;
-};
+}
+#ifdef __i386__
+__attribute__((aligned(8))) /* b/138147164 */
+#endif
+;
struct xfrm_userpolicy_id {
struct xfrm_selector sel;
diff --git a/ip/xfrm.h b/ip/xfrm.h
index 71be574d..f1d3d0e7 100644
--- a/ip/xfrm.h
+++ b/ip/xfrm.h
@@ -30,6 +30,19 @@
#include <linux/xfrm.h>
#include <linux/ipsec.h>
+#ifdef __i386__
+/* b/138147164 */
+/* Adapted from checks in system/netd/server/XfrmController.h */
+_Static_assert(sizeof(struct xfrm_usersa_info) - offsetof(struct xfrm_usersa_info, flags) == 8,
+ "struct xfrm_usersa_info probably misaligned with kernel struct.");
+_Static_assert(sizeof(struct xfrm_usersa_info) % 8 == 0,
+ "struct xfrm_usersa_info is not 64-bit aligned.");
+_Static_assert(sizeof(struct xfrm_userpolicy_info) - offsetof(struct xfrm_userpolicy_info, share) == 5,
+ "struct xfrm_userpolicy_info probably misaligned with kernel struct.");
+_Static_assert(sizeof(struct xfrm_userpolicy_info) % 8 == 0,
+ "struct xfrm_userpolicy_info is not 64-bit aligned.");
+#endif /* __i386__ */
+
#ifndef IPPROTO_MH
#define IPPROTO_MH 135
#endif