https://github.com/torvalds/linux
Revision a40a7d15ba602b547f56b7b19e0282fe4fc3dee3 authored by Pavel Emelyanov on 13 April 2008, 01:40:38 UTC, committed by David S. Miller on 13 April 2008, 01:40:38 UTC
All IP addresses that are present in a system are duplicated on
struct sctp_sockaddr_entry. They are linked in the global list
called sctp_local_addr_list. And this struct unions IPv4 and IPv6
addresses.

So, there can be rare case, when a sockaddr_in.sin_addr coincides
with the corresponding part of the sockaddr_in6 and the notifier
for IPv4 will carry away an IPv6 entry.

The fix is to check the family before comparing the addresses.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent ab38fb0
History
Tip revision: a40a7d15ba602b547f56b7b19e0282fe4fc3dee3 authored by Pavel Emelyanov on 13 April 2008, 01:40:38 UTC
[SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event.
Tip revision: a40a7d1
File Mode Size
Documentation
arch
block
crypto
drivers
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
usr
virt
.gitignore -rw-r--r-- 644 bytes
.mailmap -rw-r--r-- 3.6 KB
COPYING -rw-r--r-- 18.3 KB
CREDITS -rw-r--r-- 90.4 KB
Kbuild -rw-r--r-- 1.6 KB
MAINTAINERS -rw-r--r-- 94.9 KB
Makefile -rw-r--r-- 52.8 KB
README -rw-r--r-- 16.5 KB
REPORTING-BUGS -rw-r--r-- 3.1 KB

README

back to top