On Mon, 2006-20-02 at 15:05 -0800, David S. Miller wrote:
> From: jamal <[EMAIL PROTECTED]>
> Date: Mon, 20 Feb 2006 08:10:44 -0500
> 
> > Explain the rules to me: is it because the alignment in xfrm_usersa_id
> > may change in the future?
> 
> Alignment on x86 of u64 is different from x86_64 and ia64,
> so we must be extremely careful else we will have to
> translate these structures going in and out of compat
> processes, which is beyond painful.
> 
> So we should ensure the structure layout and alignment
> is identical on all systems, 32-bit or 64-bit, in order
> to avoid these problems.

Ok. Patch attached against net-2617

Yoshfuji-san you should probably write a little doc that should be
available in the Doc/ directory.

cheers,
jamal

--

struct xfrm_aevent_id needs to be 32-bit + 64-bit align friendly.

Signed-off-by: Jamal Hadi Salim <[EMAIL PROTECTED]>
diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h
index b54a129..6b42cc4 100644
--- a/include/linux/xfrm.h
+++ b/include/linux/xfrm.h
@@ -259,8 +259,8 @@ struct xfrm_usersa_id {
 };
 
 struct xfrm_aevent_id {
-	__u32				flags;
 	struct xfrm_usersa_id		sa_id;
+	__u32				flags;
 };
 
 struct xfrm_userspi_info {

Reply via email to