[IPV6]: IPv6 extension header structures need to be packed.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Mon, 14 Apr 2008 06:33:52 +0000 (23:33 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Apr 2008 06:33:52 +0000 (23:33 -0700)
struct ipv6_opt_hdr is the common structure for IPv6 extension
headers, and it is common to increment the pointer to get
the real content.  On the other hand, since the structure
consists only of 1-byte next-header field and 1-byte length
field, size of that structure depends on architecture; 2 or 4.
Add "packed" attribute to get 2.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/ipv6.h

index 4aaefc3..134c8e5 100644 (file)
@@ -53,7 +53,7 @@ struct ipv6_opt_hdr {
        /* 
         * TLV encoded option data follows.
         */
-};
+} __attribute__ ((packed));    /* required for some archs */
 
 #define ipv6_destopt_hdr ipv6_opt_hdr
 #define ipv6_hopopt_hdr  ipv6_opt_hdr