Commit 12aa343a authored by Jorge Boncompte [DTI2]'s avatar Jorge Boncompte [DTI2] Committed by David S. Miller

[NET]: Messed multicast lists after dev_mc_sync/unsync

Commit a0a400d7 ("[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: default avatarJorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a4425859
...@@ -2900,7 +2900,7 @@ int __dev_addr_add(struct dev_addr_list **list, int *count, ...@@ -2900,7 +2900,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) if (da == NULL)
return -ENOMEM; return -ENOMEM;
memcpy(da->da_addr, addr, alen); memcpy(da->da_addr, addr, alen);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment