Skip to contentSkip to conversation

Fix multicast on VLAN interfaces

PATCH In review Phil Oester 3 participants 4 messages Feb 21, 2008 – Feb 24, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix multicast on VLAN interfaces

In commit 56addd6eeeb4e11f5a0af7093ca078e0f29140e0 the VLAN multicast list handling was reworked. Unfortunately, a variable initialization was missed, and multicast over vlan devices has been broken since 2.6.23-rc1 (apparently not too many people use this). Trivial fix below, which might be a candidate for -stable.

Phil

net/core/dev.c +1 -0
index 908f07c..999af2e 100644
@@ -2905,6 +2905,7 @@ int __dev_addr_add(struct dev_addr_list **list, int *count,
 		return -ENOMEM;
 	memcpy(da->da_addr, addr, alen);
 	da->da_addrlen = alen;
+	da->da_synced = 0;
 	da->da_users = 1;
 	da->da_gusers = glbl ? 1 : 0;
 	da->next = *list;
#1 lore raw
Quoted 5 lines · Phil Oester

In commit 56addd6eeeb4e11f5a0af7093ca078e0f29140e0 the VLAN multicast list handling was reworked. Unfortunately, a variable initialization was missed, and multicast over vlan devices has been broken since 2.6.23-rc1 (apparently not too many people use this). Trivial fix below, which might be a candidate for -stable.

Thanks Phil, a similar patch is already sitting in net-2.6.git.

maintainer
#2 lore raw
In reply to Phil Oester

From: Phil Oester <[email protected]>
Date: Thu, 21 Feb 2008 14:05:42 -0800

net/core/dev.c int __dev_addr_add(struct dev_addr_list **list, int *count, · line 2911

Quoted 12 lines
net/core/dev.c +1 -0
index 908f07c..999af2e 100644
@@ -2905,6 +2905,7 @@ int __dev_addr_add(struct dev_addr_list **list, int *count,
 		return -ENOMEM;
 	memcpy(da->da_addr, addr, alen);
 	da->da_addrlen = alen;
+	da->da_synced = 0;
 	da->da_users = 1;
 	da->da_gusers = glbl ? 1 : 0;
 	da->next = *list;

"da" is kzalloc()'d, how can da->da_synced not be zero?