net: diag: Support destroying TCP sockets.
authorLorenzo Colitti <lorenzo@google.com>
Wed, 16 Dec 2015 03:30:05 +0000 (12:30 +0900)
committerAmit Pundir <amit.pundir@linaro.org>
Thu, 7 Apr 2016 11:19:53 +0000 (16:49 +0530)
commit69f0e89f55b7667889a638d19e3a101ce7ef4f7f
tree183fa836342f652fbc468c997f946f3b8bf21e05
parent1046108bbba31dc9f080c176647fa59f50118622
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