[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200912131319.59229.florian@openwrt.org>
Date: Sun, 13 Dec 2009 13:19:51 +0100
From: Florian Fainelli <florian@...nwrt.org>
To: Ben Hutchings <bhutchings@...arflare.com>
Cc: Julia Lawall <julia@...u.dk>, David Miller <davem@...emloft.net>,
netdev@...r.kernel.org
Subject: Re: question about drivers/net/cpmac.c
Le dimanche 13 décembre 2009 12:51:59, Ben Hutchings a écrit :
> On Sun, 2009-12-13 at 12:00 +0100, Julia Lawall wrote:
> > On Sun, 13 Dec 2009, David Miller wrote:
> > > From: Julia Lawall <julia@...u.dk>
> > > Date: Sun, 13 Dec 2009 11:22:54 +0100 (CET)
> > >
> > > > The function __devinit cpmac_probe in the file drivers/net/cpmac.c
> > > > contains the following code:
> > > >
> > > > memcpy(dev->dev_addr, pdata->dev_addr, sizeof(dev->dev_addr));
> > > >
> > > > Is it correct that the size of the pointer is what is wanted?
> > >
> > > Everything that does sizeof(netdev->dev_addr) is a bug.
> > >
> > > At some point we changed netdev->dev_addr from an array of chars to a
> > > pointer to a dynamically allocated buffer.
> > >
> > > So these cases worked before that change and need to be updated
> > > in order to be correct.
> > >
> > > Looking quickly there are a couple of these things under
> > > drivers/net
> >
> > Fixed how? I looked a bit to find where the field was initialized, but
> > it is just initialized to a field of something else, so it was not so
> > clear what the size should be.
>
> [...]
>
> The size should be dev->addr_len (assuming that has already been
> initialised) which will be ETH_ALEN for Ethernet devices.
>From arch/mips/include/asm/mach-ar7/ar7.h:
struct plat_cpmac_data {
[..]
char dev_addr[6];
};
So this should be fine to either use ETH_ALEN or sizeof(pdata->dev_addr).
--
Best regards, Florian Fainelli
Email: florian@...nwrt.org
Web: http://openwrt.org
IRC: [florian] on irc.freenode.net
-------------------------------
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists