diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2015-10-28 15:56:59 +0900 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2015-10-28 16:03:08 +0900 |
commit | 70f767ae180a8b7ab0058145ed5375bc357a39a6 (patch) | |
tree | 1f2f4a8956bb427b3eca35086f29284dab659e22 /include/linux/relay.h | |
parent | 7653f2e1b3c1d950b2b4df50df8025f604bfd6dc (diff) |
Don't kill IPv4 sockets when killing IPv6 sockets was requested.
c7c3ec4903d32c60423ee013d96e94602f66042c cherry-picked the
tcp_nuke_addr ioctl, but omitted a check that ensures that a
socket is an IPv6 socket. This makes it so that if we issue a
SIOCKILLADDR on ::, it kills IPv4 sockets as well.
This is because every IPv4 socket has an IPv6 source address
(sk_v6_rcv_saddr) of ::. Thus, when we iterate over an IPv4
socket, and compare the source address of the socket to the
source address in the ioctl, it matches the :: that was passed
in, and we kill the socket.
Change-Id: I736431a898e6ec91536536d352936a210aa10100
Diffstat (limited to 'include/linux/relay.h')
0 files changed, 0 insertions, 0 deletions