sock-diag: Report shutdown for inet and unix sockets (v2)
Subsystems (3)
PATCH 1/1 sock-diag: Report shutdown for inet and unix sockets (v2)
Make it simple -- just put new nlattr with just sk->sk_shutdown bits.
Signed-off-by Pavel Emelyanov <[email protected]>
--- include/uapi/linux/inet_diag.h | 3 ++- include/uapi/linux/unix_diag.h | 1 + net/ipv4/inet_diag.c | 3 +++ net/unix/diag.c | 3 +++ 4 files changed, 9 insertions(+), 1 deletions(-)
include/uapi/linux/inet_diag.h +2 -1
@@ -109,9 +109,10 @@ enum {INET_DIAG_TOS ,INET_DIAG_TCLASS ,INET_DIAG_SKMEMINFO , + INET_DIAG_SHUTDOWN, }; -#define INET_DIAG_MAX INET_DIAG_SKMEMINFO +#define INET_DIAG_MAX INET_DIAG_SHUTDOWN/* INET_DIAG_MEM */
include/uapi/linux/unix_diag.h +1 -0
@@ -37,6 +37,7 @@ enum {UNIX_DIAG_ICONS ,UNIX_DIAG_RQLEN ,UNIX_DIAG_MEMINFO , +UNIX_DIAG_SHUTDOWN , UNIX_DIAG_MAX, };
net/ipv4/inet_diag.c +3 -0
@@ -105,6 +105,9 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, r->id.idiag_src[0 ] = inet->inet_rcv_saddr; r->id.idiag_dst[0 ] = inet->inet_daddr; +if (nla_put_u8 (skb,INET_DIAG_SHUTDOWN , sk->sk_shutdown)) + goto errout; +/* IPv6 dual-stack sockets use inet->tos for IPv4 connections, * hence this needs to be included regardless of socket family. */
net/unix/diag.c +3 -0
@@ -151,6 +151,9 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, struct unix_diag_r sock_diag_put_meminfo(sk, skb, UNIX_DIAG_MEMINFO)) goto out_nlmsg_trim; +if (nla_put_u8 (skb,UNIX_DIAG_SHUTDOWN , sk->sk_shutdown)) + goto out_nlmsg_trim; +return nlmsg_end (skb, nlh); out_nlmsg_trim:
Signature · 1 line
1.7.6.5
David Miller
maintainerFrom: Pavel Emelyanov <[email protected]>
Date: Tue, 23 Oct 2012 22:29:56 +0400
Quoted 3 lines
Make it simple -- just put new nlattr with just
sk->sk_shutdownbits.Signed-off-by Pavel Emelyanov <[email protected]>
That's a lot better, applied, thanks.