From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751095AbdALUNi (ORCPT ); Thu, 12 Jan 2017 15:13:38 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:34344 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750823AbdALUNg (ORCPT ); Thu, 12 Jan 2017 15:13:36 -0500 Message-ID: <1484252011.13165.0.camel@edumazet-glaptop3.roam.corp.google.com> Subject: Re: [PATCH] tcp: fix tcp_fastopen unaligned access complaints on sparc From: Eric Dumazet To: Shannon Nelson Cc: netdev@vger.kernel.org, davem@davemloft.net, sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org Date: Thu, 12 Jan 2017 12:13:31 -0800 In-Reply-To: <1484251157-245538-1-git-send-email-shannon.nelson@oracle.com> References: <1484251157-245538-1-git-send-email-shannon.nelson@oracle.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2017-01-12 at 11:59 -0800, Shannon Nelson wrote: > Fix up a data alignment issue on sparc by swapping the order > of the cookie byte array field with the length field in > struct tcp_fastopen_cookie > > This addresses log complaints like these: > log_unaligned: 113 callbacks suppressed > Kernel unaligned access at TPC[976490] tcp_try_fastopen+0x2d0/0x360 > Kernel unaligned access at TPC[9764ac] tcp_try_fastopen+0x2ec/0x360 > Kernel unaligned access at TPC[9764c8] tcp_try_fastopen+0x308/0x360 > Kernel unaligned access at TPC[9764e4] tcp_try_fastopen+0x324/0x360 > Kernel unaligned access at TPC[976490] tcp_try_fastopen+0x2d0/0x360 > > Signed-off-by: Shannon Nelson > --- > include/linux/tcp.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/include/linux/tcp.h b/include/linux/tcp.h > index fc5848d..95cda75 100644 > --- a/include/linux/tcp.h > +++ b/include/linux/tcp.h > @@ -62,8 +62,8 @@ static inline unsigned int tcp_optlen(const struct sk_buff *skb) > > /* TCP Fast Open Cookie as stored in memory */ > struct tcp_fastopen_cookie { > - s8 len; > u8 val[TCP_FASTOPEN_COOKIE_MAX]; > + s8 len; > bool exp; /* In RFC6994 experimental option format */ > }; > Strange... Do you have an explanation of why this patch would be needed ? A compiler issue ? s8 and u8 are bytes after all.