Message ID | 1484256990.13165.6.camel@edumazet-glaptop3.roam.corp.google.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Thu, 12 Jan 2017 13:36:30 -0800 > val should be an union, so that proper alignment is enforced by one > member. Sure, annotating the type so that it is aligned correctly makes sense. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 1/12/2017 1:47 PM, David Miller wrote: > From: Eric Dumazet <eric.dumazet@gmail.com> > Date: Thu, 12 Jan 2017 13:36:30 -0800 > >> val should be an union, so that proper alignment is enforced by one >> member. > > Sure, annotating the type so that it is aligned correctly makes > sense. > ... and we should change the offending pointer assignment as well. I can use this and respin a v2 if we're happy with this solution. sln -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Shannon Nelson <shannon.nelson@oracle.com> Date: Thu, 12 Jan 2017 13:58:10 -0800 > > > On 1/12/2017 1:47 PM, David Miller wrote: >> From: Eric Dumazet <eric.dumazet@gmail.com> >> Date: Thu, 12 Jan 2017 13:36:30 -0800 >> >>> val should be an union, so that proper alignment is enforced by one >>> member. >> >> Sure, annotating the type so that it is aligned correctly makes >> sense. >> > > ... and we should change the offending pointer assignment as well. I > can use this and respin a v2 if we're happy with this solution. I am. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index fc5848dad7a43216b3f124c4afdaa6b64b23910c..5b790abf4c16313c9110996683be3a7fb368b66f 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -62,8 +62,13 @@ static inline unsigned int tcp_optlen(const struct sk_buff *skb) /* TCP Fast Open Cookie as stored in memory */ struct tcp_fastopen_cookie { + union { + u8 val[TCP_FASTOPEN_COOKIE_MAX]; +#if IS_ENABLED(CONFIG_IPV6) + struct in6_addr addr; +#endif + }; s8 len; - u8 val[TCP_FASTOPEN_COOKIE_MAX]; bool exp; /* In RFC6994 experimental option format */ };