From 5e27e984b46929804d14ba621854d50b18223b74 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Tue, 23 Oct 2012 22:29:56 +0400 Subject: [PATCH] --- yaml --- r: 340475 b: refs/heads/master c: e4e541a84863b6a41f2427f59cc9156c644491a8 h: refs/heads/master i: 340473: 1322c52fd917a3b80a37439cb0a8d6432fcfe058 340471: a4c7aa2f454269c7943e6ba9287caf35e7448c2f v: v3 --- [refs] | 2 +- trunk/include/uapi/linux/inet_diag.h | 3 ++- trunk/include/uapi/linux/unix_diag.h | 1 + trunk/net/ipv4/inet_diag.c | 3 +++ trunk/net/unix/diag.c | 3 +++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index bd7f22f2666d..70579c622567 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5a85d716ab69035138cc49b5a71686343abc950b +refs/heads/master: e4e541a84863b6a41f2427f59cc9156c644491a8 diff --git a/trunk/include/uapi/linux/inet_diag.h b/trunk/include/uapi/linux/inet_diag.h index 8c469af939aa..bbde90fa5838 100644 --- a/trunk/include/uapi/linux/inet_diag.h +++ b/trunk/include/uapi/linux/inet_diag.h @@ -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 */ diff --git a/trunk/include/uapi/linux/unix_diag.h b/trunk/include/uapi/linux/unix_diag.h index b1d2bf16b33c..b8a24941db21 100644 --- a/trunk/include/uapi/linux/unix_diag.h +++ b/trunk/include/uapi/linux/unix_diag.h @@ -37,6 +37,7 @@ enum { UNIX_DIAG_ICONS, UNIX_DIAG_RQLEN, UNIX_DIAG_MEMINFO, + UNIX_DIAG_SHUTDOWN, UNIX_DIAG_MAX, }; diff --git a/trunk/net/ipv4/inet_diag.c b/trunk/net/ipv4/inet_diag.c index 535584c00f91..e5bad82d3584 100644 --- a/trunk/net/ipv4/inet_diag.c +++ b/trunk/net/ipv4/inet_diag.c @@ -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. */ diff --git a/trunk/net/unix/diag.c b/trunk/net/unix/diag.c index 06748f108a57..5ac19dc1d5e4 100644 --- a/trunk/net/unix/diag.c +++ b/trunk/net/unix/diag.c @@ -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: