From: "John W. Linville" <linville@tuxdriver.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
deller@gmx.de, jt@hpl.hp.com, rjw@sisk.pl,
linux-wireless@vger.kernel.org,
linux-arm-kernel@lists.arm.linux.org.uk
Subject: Re: [PATCH] WAVELAN - compile-time check for struct sizes
Date: Thu, 7 Feb 2008 14:08:42 -0500 [thread overview]
Message-ID: <20080207190842.GC3025@tuxdriver.com> (raw)
In-Reply-To: <20080207104912.c719deed.akpm@linux-foundation.org>
On Thu, Feb 07, 2008 at 10:49:12AM -0800, Andrew Morton wrote:
> On Thu, 7 Feb 2008 10:51:52 -0500 "John W. Linville" <linville@tuxdriver.com> wrote:
>
> > On Wed, Feb 06, 2008 at 01:59:50PM -0800, Andrew Morton wrote:
> > > On Wed, 6 Feb 2008 21:47:47 +0000
> > > Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
> >
> > > > I assume that it's the second BUILD_BUG_ON() which is triggering?
> > >
> > > yup.
> > >
> > > > Given that:
> > > >
> > > > #define MMW_SIZE 37
> > > >
> > > > is not a multiple of sizeof(unsigned long) this is hardly surprising.
> > > >
> > > > If structures are used to define a layout of something and must not
> > > > contain compiler padding, it must be packed. Given these structures
> > > > contain just unsigned char, there's no concerns about >8bit loads
> > > > becoming less efficient.
> >
> > Does a patch like this suffice? I haven't checked whether such a
> > patch implies that the BUILD_BUG_ON()'s become unnecessary...
>
> With your patch applied and arm allmodconfig, this
>
> BUILD_BUG_ON(sizeof(ha_t) != HA_SIZE);
>
> triggers
>
> Without your patch applied, these two
>
> BUILD_BUG_ON(sizeof(mmw_t) != MMW_SIZE);
> BUILD_BUG_ON(sizeof(ha_t) != HA_SIZE);
>
> are triggering.
The ha_t one triggers either way? Hmmm...
Russell suggested that the ha_t and psa_t packed attributes were
unnecessary, so I'll include the reduced version just in case the
above is a typo.
---
From: John W. Linville <linville@tuxdriver.com>
Subject: [PATCH] wavelan: mark hardware interfacing structures as packed
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
drivers/net/wireless/wavelan.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/wavelan.h b/drivers/net/wireless/wavelan.h
index 27172cd..fde4613 100644
--- a/drivers/net/wireless/wavelan.h
+++ b/drivers/net/wireless/wavelan.h
@@ -292,7 +292,7 @@ struct mmw_t
#define MMW_EXT_ANT_INTERNAL 0x00 /* Internal antenna */
#define MMW_EXT_ANT_EXTERNAL 0x03 /* External antenna */
#define MMW_EXT_ANT_IQ_TEST 0x1C /* IQ test pattern (set to 0) */
-};
+} __attribute__ ((packed));;
#define MMW_SIZE 37
@@ -347,7 +347,7 @@ struct mmr_t
unsigned char mmr_unused4[1]; /* unused */
unsigned char mmr_fee_data_l; /* Read data from EEPROM (low) */
unsigned char mmr_fee_data_h; /* Read data from EEPROM (high) */
-};
+} __attribute__ ((packed));
#define MMR_SIZE 36
--
1.5.3.3
--
John W. Linville
linville@tuxdriver.com
next prev parent reply other threads:[~2008-02-07 19:39 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-13 14:16 [PATCH] WAVELAN - compile-time check for struct sizes Helge Deller
2008-02-03 6:45 ` Andrew Morton
2008-02-06 20:50 ` Helge Deller
2008-02-06 21:04 ` Andrew Morton
2008-02-06 21:47 ` Russell King - ARM Linux
2008-02-06 21:59 ` Andrew Morton
2008-02-07 15:51 ` John W. Linville
2008-02-07 16:06 ` Russell King - ARM Linux
2008-02-07 18:49 ` Andrew Morton
2008-02-07 19:08 ` John W. Linville [this message]
2008-02-07 19:50 ` Russell King - ARM Linux
2008-02-07 20:02 ` Andrew Morton
2008-02-07 20:46 ` John W. Linville
2008-02-07 21:27 ` Andrew Morton
2008-02-13 12:17 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080207190842.GC3025@tuxdriver.com \
--to=linville@tuxdriver.com \
--cc=akpm@linux-foundation.org \
--cc=deller@gmx.de \
--cc=jt@hpl.hp.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-wireless@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).