Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932518AbVIZUgg (ORCPT ); Mon, 26 Sep 2005 16:36:36 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932517AbVIZUgg (ORCPT ); Mon, 26 Sep 2005 16:36:36 -0400 Received: from smtp.osdl.org ([65.172.181.4]:60882 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S932489AbVIZUgf (ORCPT ); Mon, 26 Sep 2005 16:36:35 -0400 Date: Mon, 26 Sep 2005 13:36:34 -0700 From: Andrew Morton To: Alex Williamson Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, "David S. Miller" Subject: Re: [PATCH] sys_sendmsg() alignment bug fix Message-Id: <20050926133634.657ef4a3.akpm@osdl.org> In-Reply-To: <1127764921.6529.60.camel@tdi> References: <1127764921.6529.60.camel@tdi> X-Mailer: Sylpheed version 1.0.0 (GTK+ 1.2.10; i386-vine-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1300 Lines: 33 Alex Williamson wrote: > > The patch below adds an alignment attribute to the buffer used in > sys_sendmsg(). This eliminates an unaligned access warning on ia64. > Vaguely surprised that the compiler cannot be taught to do this. > > diff -r db9b9552a2b4 net/socket.c > --- a/net/socket.c Sat Sep 24 23:56:08 2005 > +++ b/net/socket.c Mon Sep 26 13:44:09 2005 > @@ -1700,7 +1700,9 @@ > struct socket *sock; > char address[MAX_SOCK_ADDR]; > struct iovec iovstack[UIO_FASTIOV], *iov = iovstack; > - unsigned char ctl[sizeof(struct cmsghdr) + 20]; /* 20 is size of ipv6_pktinfo */ > + unsigned char ctl[sizeof(struct cmsghdr) + 20] > + __attribute__ ((aligned (sizeof(__kernel_size_t)))); > + /* 20 is size of ipv6_pktinfo */ > unsigned char *ctl_buf = ctl; > struct msghdr msg_sys; > int err, ctl_len, iov_size, total_len; OK, thanks - I'll send this on to davem. It seems odd to be using __kernel_size_t rather than size_t, but that's what struct cmshdr does (also oddly). - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/