Message ID | 20220629142149.1298-1-oneukum@suse.com |
---|---|
State | New |
Headers | show |
Series | usbnet: use each random address only once | expand |
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 02b915b1e142..a90aece93f4a 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1797,8 +1797,11 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod) } /* let userspace know we have a random address */ - if (ether_addr_equal(net->dev_addr, node_id)) + if (ether_addr_equal(net->dev_addr, node_id)) { net->addr_assign_type = NET_ADDR_RANDOM; + /* next device needs a new one*/ + eth_random_addr(node_id); + } if ((dev->driver_info->flags & FLAG_WLAN) != 0) SET_NETDEV_DEVTYPE(net, &wlan_type);
Even random MACs should be unique to a device. Get a new one each time it is used. This bug is as old as the driver. Signed-off-by: Oliver Neukum <oneukum@suse.com> --- drivers/net/usb/usbnet.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)