[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120629182423.GD13074@breakpoint.cc>
Date: Fri, 29 Jun 2012 20:24:23 +0200
From: Florian Westphal <fw@...len.de>
To: David Laight <David.Laight@...LAB.COM>
Cc: pablo@...filter.org, netfilter-devel@...r.kernel.org,
davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [PATCH 1/5] netfilter: ipset: fix interface comparision in
hash-netiface sets
David Laight <David.Laight@...LAB.COM> wrote:
> > From: Florian Westphal <fw@...len.de>
> >
> > ifname_compare() assumes that skb->dev is zero-padded,
> > e.g 'eth1\0\0\0\0\0...'. This isn't always the case. e1000 driver does
> >
> > strncpy(netdev->name, pci_name(pdev), sizeof(netdev->name) - 1);
> >
> > in e1000_probe(), so once device is registered dev->name memory
> contains
> > 'eth1\0:0:3\0\0\0' (or something like that), which makes eth1 compare
> fail.
>
> strncpy() would normally zero-fill the destination buffer
> (at least the libc version does).
>
> So something else must be wrong.
No. driver .probe() runs before the device name is filled in, and no
explict zeroing happens there.
--
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