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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 03 Dec 2012 13:04:27 -0800
From:	Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To:	Joe Perches <joe@...ches.com>
Cc:	netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ixgbe: Use is_valid_ether_addr

On Mon, 2012-12-03 at 09:47 -0800, Joe Perches wrote:
> On Sat, 2012-10-20 at 09:22 -0700, Joe Perches wrote:
> > Use the normal kernel test instead of a module specific one.
> 
> ping?

Your timely is perfect, I just cleared out all the ixgbe patches in my
queue that were before yours, and your patch (along with several others)
are finishing up validation.  So I should be pushing your patch along
with other ixgbe patches this week sometime, as long as Dave's net-next
remains open long enough for me to push. :-)

> 
> > Signed-off-by: Joe Perches <joe@...ches.com>
> > ---
> > found when doing that larger style conversion,
> > might as well submit it.
> > 
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c  |  2 +-
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 27 +------------------------
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_common.h |  1 -
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |  2 +-
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_type.h   |  9 ---------
> >  drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c   |  2 +-
> >  6 files changed, 4 insertions(+), 39 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > index 1077cb2..89fe00d 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c
> > @@ -1022,7 +1022,7 @@ mac_reset_top:
> >  	hw->mac.ops.get_san_mac_addr(hw, hw->mac.san_addr);
> >  
> >  	/* Add the SAN MAC address to the RAR only if it's a valid address */
> > -	if (ixgbe_validate_mac_addr(hw->mac.san_addr) == 0) {
> > +	if (is_valid_ether_addr(hw->mac.san_addr)) {
> >  		hw->mac.ops.set_rar(hw, hw->mac.num_rar_entries - 1,
> >  		                    hw->mac.san_addr, 0, IXGBE_RAH_AV);
> >  
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
> > index dbf37e4..2d8f76d 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
> > @@ -1762,30 +1762,6 @@ s32 ixgbe_update_eeprom_checksum_generic(struct ixgbe_hw *hw)
> >  }
> >  
> >  /**
> > - *  ixgbe_validate_mac_addr - Validate MAC address
> > - *  @mac_addr: pointer to MAC address.
> > - *
> > - *  Tests a MAC address to ensure it is a valid Individual Address
> > - **/
> > -s32 ixgbe_validate_mac_addr(u8 *mac_addr)
> > -{
> > -	s32 status = 0;
> > -
> > -	/* Make sure it is not a multicast address */
> > -	if (IXGBE_IS_MULTICAST(mac_addr))
> > -		status = IXGBE_ERR_INVALID_MAC_ADDR;
> > -	/* Not a broadcast address */
> > -	else if (IXGBE_IS_BROADCAST(mac_addr))
> > -		status = IXGBE_ERR_INVALID_MAC_ADDR;
> > -	/* Reject the zero address */
> > -	else if (mac_addr[0] == 0 && mac_addr[1] == 0 && mac_addr[2] == 0 &&
> > -	         mac_addr[3] == 0 && mac_addr[4] == 0 && mac_addr[5] == 0)
> > -		status = IXGBE_ERR_INVALID_MAC_ADDR;
> > -
> > -	return status;
> > -}
> > -
> > -/**
> >   *  ixgbe_set_rar_generic - Set Rx address register
> >   *  @hw: pointer to hardware structure
> >   *  @index: Receive address register to write
> > @@ -1889,8 +1865,7 @@ s32 ixgbe_init_rx_addrs_generic(struct ixgbe_hw *hw)
> >  	 * to the permanent address.
> >  	 * Otherwise, use the permanent address from the eeprom.
> >  	 */
> > -	if (ixgbe_validate_mac_addr(hw->mac.addr) ==
> > -	    IXGBE_ERR_INVALID_MAC_ADDR) {
> > +	if (!is_valid_ether_addr(hw->mac.addr)) {
> >  		/* Get the MAC address from the RAR0 for later reference */
> >  		hw->mac.ops.get_mac_addr(hw, hw->mac.addr);
> >  
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
> > index d813d11..f49ca84 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.h
> > @@ -80,7 +80,6 @@ s32 ixgbe_enable_rx_dma_generic(struct ixgbe_hw *hw, u32 regval);
> >  s32 ixgbe_fc_enable_generic(struct ixgbe_hw *hw);
> >  void ixgbe_fc_autoneg(struct ixgbe_hw *hw);
> >  
> > -s32 ixgbe_validate_mac_addr(u8 *mac_addr);
> >  s32 ixgbe_acquire_swfw_sync(struct ixgbe_hw *hw, u16 mask);
> >  void ixgbe_release_swfw_sync(struct ixgbe_hw *hw, u16 mask);
> >  s32 ixgbe_get_san_mac_addr_generic(struct ixgbe_hw *hw, u8 *san_mac_addr);
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > index e2a6691..3bb3485 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> > @@ -7345,7 +7345,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
> >  	memcpy(netdev->dev_addr, hw->mac.perm_addr, netdev->addr_len);
> >  	memcpy(netdev->perm_addr, hw->mac.perm_addr, netdev->addr_len);
> >  
> > -	if (ixgbe_validate_mac_addr(netdev->perm_addr)) {
> > +	if (!is_valid_ether_addr(netdev->perm_addr)) {
> >  		e_dev_err("invalid MAC address\n");
> >  		err = -EIO;
> >  		goto err_sw_init;
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
> > index 0722f33..9ddac64 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type.h
> > @@ -1833,15 +1833,6 @@ enum {
> >  /* Number of 100 microseconds we wait for PCI Express master disable */
> >  #define IXGBE_PCI_MASTER_DISABLE_TIMEOUT 800
> >  
> > -/* Check whether address is multicast.  This is little-endian specific check.*/
> > -#define IXGBE_IS_MULTICAST(Address) \
> > -                (bool)(((u8 *)(Address))[0] & ((u8)0x01))
> > -
> > -/* Check whether an address is broadcast. */
> > -#define IXGBE_IS_BROADCAST(Address)                      \
> > -                ((((u8 *)(Address))[0] == ((u8)0xff)) && \
> > -                (((u8 *)(Address))[1] == ((u8)0xff)))
> > -
> >  /* RAH */
> >  #define IXGBE_RAH_VIND_MASK     0x003C0000
> >  #define IXGBE_RAH_VIND_SHIFT    18
> > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> > index de4da52..c73b929 100644
> > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_x540.c
> > @@ -152,7 +152,7 @@ mac_reset_top:
> >  	hw->mac.ops.get_san_mac_addr(hw, hw->mac.san_addr);
> >  
> >  	/* Add the SAN MAC address to the RAR only if it's a valid address */
> > -	if (ixgbe_validate_mac_addr(hw->mac.san_addr) == 0) {
> > +	if (is_valid_ether_addr(hw->mac.san_addr)) {
> >  		hw->mac.ops.set_rar(hw, hw->mac.num_rar_entries - 1,
> >  		                    hw->mac.san_addr, 0, IXGBE_RAH_AV);
> >  
> > 
> 
> 
> 



Download attachment "signature.asc" of type "application/pgp-signature" (837 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ