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] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 28 Mar 2018 23:02:26 -0700
From:   Joe Perches <joe@...ches.com>
To:     Quytelda Kahja <quytelda@...alin.org>, gregkh@...uxfoundation.org,
        wsa@...-dreams.de
Cc:     driverdev-devel@...uxdriverproject.org, devel@...verdev.osuosl.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/9] staging: ks7010: Replace manual array copy with
 ether_addr_copy().

On Wed, 2018-03-28 at 22:51 -0700, Quytelda Kahja wrote:
> Copying the dummy HW address into the struct net_device doesn't need
> to be done byte by byte; use ether_addr_copy() instead.
> Additionally, dev->dev_addr is not eight bytes long.
> ether_setup() sets the dev->addr_len to ETH_ALEN (defined as 6)
> in the net core code.
[]
> diff --git a/drivers/staging/ks7010/ks_wlan_net.c b/drivers/staging/ks7010/ks_wlan_net.c
[]
> @@ -2900,15 +2900,7 @@ int ks_wlan_net_start(struct net_device *dev)
>  	timer_setup(&update_phyinfo_timer, ks_wlan_update_phyinfo_timeout, 0);
>  
>  	/* dummy address set */
> -	memcpy(priv->eth_addr, dummy_addr, ETH_ALEN);

why remove the copy of dummy_addr into priv->eth_addr ?

Also, dummy_addr could be removed and eth_zero_addr()
used instead.

> -	dev->dev_addr[0] = priv->eth_addr[0];
> -	dev->dev_addr[1] = priv->eth_addr[1];
> -	dev->dev_addr[2] = priv->eth_addr[2];
> -	dev->dev_addr[3] = priv->eth_addr[3];
> -	dev->dev_addr[4] = priv->eth_addr[4];
> -	dev->dev_addr[5] = priv->eth_addr[5];
> -	dev->dev_addr[6] = 0x00;
> -	dev->dev_addr[7] = 0x00;
> +	ether_addr_copy(dev->dev_addr, priv->eth_addr);

Perhaps

	eth_zero_addr(priv->eth_addr);
	eth_zero_addr(dev->dev_addr);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ