projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
35a6528
)
be2net: check for valid ether address
author
Ajit Khaparde
<
[email protected]
>
Sun, 29 Nov 2009 17:56:26 +0000
(17:56 +0000)
committer
David S. Miller
<
[email protected]
>
Wed, 2 Dec 2009 08:50:25 +0000
(
00:50
-0800)
Allow only valid ether addresses to be assigned and used for the interface.
Signed-off-by: Ajit Khaparde <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
drivers/net/benet/be_main.c
patch
|
blob
|
history
diff --git
a/drivers/net/benet/be_main.c
b/drivers/net/benet/be_main.c
index e24f498f37cdfbe04d56e99261ef8cb8fce2cfa9..10262fab686bdd762df118583b3ea7d7f70ed9dd 100644
(file)
--- a/
drivers/net/benet/be_main.c
+++ b/
drivers/net/benet/be_main.c
@@
-125,6
+125,9
@@
static int be_mac_addr_set(struct net_device *netdev, void *p)
struct sockaddr *addr = p;
int status = 0;
+ if (!is_valid_ether_addr(addr->sa_data))
+ return -EADDRNOTAVAIL;
+
status = be_cmd_pmac_del(adapter, adapter->if_handle, adapter->pmac_id);
if (status)
return status;
@@
-2146,6
+2149,10
@@
static int be_get_config(struct be_adapter *adapter)
MAC_ADDRESS_TYPE_NETWORK, true /*permanent */, 0);
if (status)
return status;
+
+ if (!is_valid_ether_addr(mac))
+ return -EADDRNOTAVAIL;
+
memcpy(adapter->netdev->dev_addr, mac, ETH_ALEN);
memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN);