Re: [PATCH v2 1/7] net: validate MAC address directly indev_set_mac_address()

From: David Miller
Date: Thu Mar 01 2012 - 16:22:52 EST


From: Ben Hutchings <bhutchings@xxxxxxxxxxxxxx>
Date: Thu, 1 Mar 2012 17:51:29 +0000

> On Thu, 2012-03-01 at 17:52 +0100, Danny Kukawka wrote:
>> Validate the given MAC address directly in dev_set_mac_address()
>> if a .ndo_validate_addr function is available before calling
>> the .ndo_set_mac_address function.
>>
>> Changed .ndo_validate_addr to take a second parameter containing
>> a sockaddr struct to be checked instead of the net_device dev_addr.
>> The behaviour of .ndo_validate_addr is now: if the second parameter
>> is NULL the net_device->dev_addr gets validate, if != NULL
>> the given parameter/sockaddr gets validated instead.
> [...]
>
> The caller is assumed to have validated the address family, so why not
> just pass a pointer to the hardware address (u8 *), and get rid of the
> special case for NULL?
>
> That is, dev_set_mac_address would call:
> ops->ndo_validate_addr(dev, sa->sa_data);
> and dev_open would call:
> ops->ndo_validate_addr(dev, dev->dev_addr);

Yes, this looks a lot better.
--
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/