Re: [PATCH] r8169: Randomise invalid MAC addresses
From: Paul Gortmaker
Date: Mon Jan 23 2012 - 15:53:07 EST
On Mon, Jan 23, 2012 at 1:32 PM, Torne (Richard Coles) <torne@xxxxxxxxxx> wrote:
> From: "Torne (Richard Coles)" <torne@xxxxxxxxxx>
>
> 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.
>
> Signed-off-by: Torne (Richard Coles) <torne@xxxxxxxxxx>
> ---
> 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@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/