Thread (11 messages) 11 messages, 4 authors, 2012-03-02

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: 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help