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
| ||
|
Date: Wed, 29 Feb 2012 19:20:26 +0200 From: "Dmitry Kravkov" <dmitry@...adcom.com> To: "Danny Kukawka" <danny.kukawka@...ect.de> 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 Wed, 2012-02-29 at 18:08 +0100, Danny Kukawka wrote: > 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: BUT: > int eth_validate_addr(struct net_device *dev, void *addr) > { You still need to extract bp here: struct bnx2x *bp = netdev_priv(dev); > u8 *vaddr; > > if (addr) > vaddr = ((struct sockaddr *) addr)->sa_data; > else > vaddr = dev->dev_addr; > > if (!is_valid_ether_addr(vaddr)) and call internal function here: if (!bnx2x_is_valid_ether_addr(bp, 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