Thread (11 messages) 11 messages, 8 authors, 2012-01-24

Re: [PATCH] r8169: Randomise invalid MAC addresses

flat view

From: Paul Gortmaker <hidden>
Date: 2012-01-23 20:53:08
Also in: lkml

On Mon, Jan 23, 2012 at 1:32 PM, Torne (Richard Coles) [off-list ref] wrote:
From: "Torne (Richard Coles)" <redacted>

If the default MAC address stored in the card is invalid, replace it
with a random address and complain about it.
You might want to have a look at this thread and its outcome.

https://lkml.org/lkml/2012/1/14/75

Paul.
quoted hunk ↗ jump to hunk
Signed-off-by: Torne (Richard Coles) <redacted>
---
 drivers/net/ethernet/realtek/r8169.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 7a0c800..ec5ebbb 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4103,6 +4103,14 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
       /* Get MAC address */
       for (i = 0; i < ETH_ALEN; i++)
               dev->dev_addr[i] = RTL_R8(MAC0 + i);
+
+       if (!is_valid_ether_addr(dev->dev_addr)) {
+               /* Report it and use a random ethernet address instead */
+               netdev_err(dev, "Invalid MAC address: %pM\n", dev->dev_addr);
+               random_ether_addr(dev->dev_addr);
+               netdev_info(dev, "Using random MAC address: %pM\n",
+                           dev->dev_addr);
+       }
       memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);

       SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops);
--
1.7.7.3

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help