diff mbox series

[net-next,2/3] net: um: use eth_hw_addr_set()

Message ID 20211029024707.316066-3-kuba@kernel.org
State Not Applicable
Headers show
Series None | expand

Commit Message

Jakub Kicinski Oct. 29, 2021, 2:47 a.m. UTC
Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it go through appropriate helpers.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
CC: jdike@addtoit.com
CC: richard@nod.at
CC: anton.ivanov@cambridgegreys.com
CC: johannes.berg@intel.com
CC: linux-um@lists.infradead.org
---
 arch/um/drivers/net_kern.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Anton Ivanov Oct. 29, 2021, 6:37 a.m. UTC | #1
On 29/10/2021 03:47, Jakub Kicinski wrote:
> Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
> of VLANs...") introduced a rbtree for faster Ethernet address look
> up. To maintain netdev->dev_addr in this tree we need to make all
> the writes to it go through appropriate helpers.
> 
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
> CC: jdike@addtoit.com
> CC: richard@nod.at
> CC: anton.ivanov@cambridgegreys.com
> CC: johannes.berg@intel.com
> CC: linux-um@lists.infradead.org
> ---
>   arch/um/drivers/net_kern.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
> index 2fc0b038ff8a..59331384c2d3 100644
> --- a/arch/um/drivers/net_kern.c
> +++ b/arch/um/drivers/net_kern.c
> @@ -276,7 +276,7 @@ static const struct ethtool_ops uml_net_ethtool_ops = {
>   
>   void uml_net_setup_etheraddr(struct net_device *dev, char *str)
>   {
> -	unsigned char *addr = dev->dev_addr;
> +	u8 addr[ETH_ALEN];
>   	char *end;
>   	int i;
>   
> @@ -316,6 +316,7 @@ void uml_net_setup_etheraddr(struct net_device *dev, char *str)
>   		       addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4],
>   		       addr[5]);
>   	}
> +	eth_hw_addr_set(dev, addr);
>   	return;
>   
>   random:
> 

Acked-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
diff mbox series

Patch

diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index 2fc0b038ff8a..59331384c2d3 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -276,7 +276,7 @@  static const struct ethtool_ops uml_net_ethtool_ops = {
 
 void uml_net_setup_etheraddr(struct net_device *dev, char *str)
 {
-	unsigned char *addr = dev->dev_addr;
+	u8 addr[ETH_ALEN];
 	char *end;
 	int i;
 
@@ -316,6 +316,7 @@  void uml_net_setup_etheraddr(struct net_device *dev, char *str)
 		       addr[0] | 0x02, addr[1], addr[2], addr[3], addr[4],
 		       addr[5]);
 	}
+	eth_hw_addr_set(dev, addr);
 	return;
 
 random: