]> git.neil.brown.name Git - history.git/commit
[IPV4/IPV6]: IGMP source filter fixes
authorChris Wright <chrisw@osdl.org>
Tue, 14 Dec 2004 03:06:25 +0000 (19:06 -0800)
committerDavid S. Miller <davem@nuts.davemloft.net>
Tue, 14 Dec 2004 03:06:25 +0000 (19:06 -0800)
commitc1e98f7df57332a0669d44d82292c064a99b995d
tree5bf077ba57fbb34467db4d9f033d08143ff45d1a
parent66e57dd8c12bffb295dde24b38a108cb19d01041
[IPV4/IPV6]: IGMP source filter fixes

When adding or deleting from the source list make sure to find matches
by comparing against the new source address, not the group address.
Also, check each addr in the list rather than just the first one.
And, finally, only delete from list when there's a match rather than
vice-versa.  Drop the effort to keep list sorted, since it's not done
on full-state api and can create an sl_addr entry that the delta api
won't be able to delete. Without these fixes sl_count can be corrupted
which can allow for kernel memory corruption.

Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/igmp.c
net/ipv6/mcast.c