On 2014年01月08日 06:52, Sergei Shtylyov wrote: > Hello. > > On 07-01-2014 10:48, Fan Du wrote: > >> Otherwise 64bits kernel has sizeof(struct xfrm_userpolicy_info) 168 bytes, >> while 32bits compiled iproute2 see the same structure as 164 bytes, which >> leading deficit xfrm policy, in turn broken IPsec connectivity. > >> Fix this by packing the structure. > > This will force byte-by-byte access to all members on some arches like > ARM... > >> Signed-off-by: Fan Du <[email protected]> >> --- >> include/uapi/linux/xfrm.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h >> index a8cd6a4..470bfae 100644 >> --- a/include/uapi/linux/xfrm.h >> +++ b/include/uapi/linux/xfrm.h >> @@ -405,7 +405,7 @@ struct xfrm_userpolicy_info { >> /* Automatically expand selector to include matching ICMP payloads. */ >> #define XFRM_POLICY_ICMP 2 >> __u8 share; >> -}; >> +} __attribute__((packed)); > > Please use the __packed macro instead. I guess you haven't run > checkpatch.pl?
Lucky me, I run checkpatch every time before sending patch out. -- 浮沉随浪只记今朝笑 --fan _______________________________________________ Dev mailing list [email protected] https://lists.strongswan.org/mailman/listinfo/dev
