lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <201202291808.30599.danny.kukawka@bisect.de> Date: Wed, 29 Feb 2012 18:08:29 +0100 From: Danny Kukawka <danny.kukawka@...ect.de> To: "Dmitry Kravkov" <dmitry@...adcom.com> Cc: "Eilon Greenstein" <eilong@...adcom.com>, netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, linux-kernel@...r.kernel.org Subject: Re: [PATCH 2/8] bnx2x: adopt bnx2x_validate_addr() to .ndo_validate_addr changes On Mittwoch, 29. Februar 2012, Dmitry Kravkov wrote: > On Wed, 2012-02-29 at 16:42 +0100, Danny Kukawka wrote: > > Adopted bnx2x_validate_addr() to changes in .ndo_validate_addr, > > handle second parameter to be validated. > > > > Signed-off-by: Danny Kukawka <danny.kukawka@...ect.de> > > --- > > drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 13 ++++++++++--- > > 1 files changed, 10 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index b4afef6..d25ef1e > > 100644 > > --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c > > @@ -10532,12 +10532,19 @@ static void poll_bnx2x(struct net_device *dev) > > } > > #endif > > > > -static int bnx2x_validate_addr(struct net_device *dev) > > +static int bnx2x_validate_addr(struct net_device *dev, void *addr) > > { > > struct bnx2x *bp = netdev_priv(dev); > > + struct sockaddr *saddr; > > > > - if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) > > - return -EADDRNOTAVAIL; > > + if (addr) { > > + saddr = addr; > > + if (!bnx2x_is_valid_ether_addr(bp, saddr->sa_data)) > > + return -EADDRNOTAVAIL; > > + } else { > > + if (!bnx2x_is_valid_ether_addr(bp, dev->dev_addr)) > > + return -EADDRNOTAVAIL; > > + } > > return 0; > > } > > Isn't it preferred to calculate the correct address for test and then > call bnx2x_is_valid_ether_addr() at the end? Do you mean something like this: int eth_validate_addr(struct net_device *dev, void *addr) { u8 *vaddr; if (addr) vaddr = ((struct sockaddr *) addr)->sa_data; else vaddr = dev->dev_addr; if (!is_valid_ether_addr(vaddr)) return -EADDRNOTAVAIL; return 0; } -- 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