driver/net/benet: fix be_cmd_multicast_set() memcpy bug
authorJoe Jin <joe.jin@oracle.com>
Mon, 6 Dec 2010 03:00:59 +0000 (03:00 +0000)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Sun, 17 Apr 2011 20:16:03 +0000 (16:16 -0400)
commit 408cc293c29ada769ae772420a39961320da1854 upstream

Regarding  benet be_cmd_multicast_set() function, now using
netdev_for_each_mc_addr() helper for mac address copy, but
when copying to req->mac[] did not increase of the index.

Cc: Sathya Perla <sathyap@serverengines.com>
Cc: Subbu Seetharaman <subbus@serverengines.com>
Cc: Sarveshwar Bandi <sarveshwarb@serverengines.com>
Cc: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
drivers/net/benet/be_cmds.c

index d0ef4ac987cde52db2ecb24e2144c43d1339c997..e0578d192da12fcb62df35874fca6d9f1a42cf25 100644 (file)
@@ -1163,7 +1163,7 @@ int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id,
 
                i = 0;
                netdev_for_each_mc_addr(mc, netdev)
-                       memcpy(req->mac[i].byte, mc->dmi_addr, ETH_ALEN);
+                       memcpy(req->mac[i++].byte, mc->dmi_addr, ETH_ALEN);
        } else {
                req->promiscuous = 1;
        }