summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJorge Boncompte [DTI2] <jorge@dti2.net>2008-03-05 14:47:01 -0800
committerChris Wright <chrisw@sous-sol.org>2008-03-24 11:47:05 -0700
commit53a8bf30f67d9a10e1b8e0adfed889d3a5694813 (patch)
treee49d0f8f119d97516345adfcf4543173292fbcac /net
parent887b7b08e75ee7dae5da7924291cd90d4bcb5b40 (diff)
NET: Messed multicast lists after dev_mc_sync/unsync
Upstream commit: 12aa343add3eced38a44bdb612b35fdf634d918c Commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 ("[NET]: dev_mcast: add multicast list synchronization helpers") from you introduced a new field "da_synced" to struct dev_addr_list that is not properly initialized to 0. So when any of the current users (8021q, macvlan, mac80211) calls dev_mc_sync/unsync they mess the address list for both devices. The attached patch fixed it for me and avoid future problems. Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Diffstat (limited to 'net')
-rw-r--r--net/core/dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 0879f52115eb..a347e75dcc1f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2906,7 +2906,7 @@ int __dev_addr_add(struct dev_addr_list **list, int *count,
}
}
- da = kmalloc(sizeof(*da), GFP_ATOMIC);
+ da = kzalloc(sizeof(*da), GFP_ATOMIC);
if (da == NULL)
return -ENOMEM;
memcpy(da->da_addr, addr, alen);