Re: [PATCH v2 1/7] net: validate MAC address directly in dev_set_mac_address()
From: David Miller <davem@davemloft.net>
Date: 2012-03-01 21:22:56
Also in:
lkml
From: David Miller <davem@davemloft.net>
Date: 2012-03-01 21:22:56
Also in:
lkml
From: Ben Hutchings <redacted> Date: Thu, 1 Mar 2012 17:51:29 +0000
On Thu, 2012-03-01 at 17:52 +0100, Danny Kukawka wrote:quoted
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.