[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>
Showing
Please register or sign in to comment