net: diag: Support destroying TCP sockets.
authorLorenzo Colitti <lorenzo@google.com>
Wed, 16 Dec 2015 03:30:05 +0000 (12:30 +0900)
committerLorenzo Colitti <lorenzo@google.com>
Thu, 25 Feb 2016 00:01:21 +0000 (09:01 +0900)
commit79170d8d5d551d2a0ea3fd98a62721a2818402d8
tree5d05158191489d9ab66eb56b6ce26f56af6b5588
parentc4c2b94c178d8b5676595b5435e86b55159f4a89
net: diag: Support destroying TCP sockets.

This implements SOCK_DESTROY for TCP sockets. It causes all
blocking calls on the socket to fail fast with ECONNABORTED and
causes a protocol close of the socket. It informs the other end
of the connection by sending a RST, i.e., initiating a TCP ABORT
as per RFC 793. ECONNABORTED was chosen for consistency with
FreeBSD.

[cherry-pick of net-next c1e64e298b8cad309091b95d8436a0255c84f54a]

Change-Id: I728a01ef03f2ccfb9016a3f3051ef00975980e49
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/Kconfig
net/ipv4/tcp.c
net/ipv4/tcp_diag.c
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c