diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2011-12-30 00:53:32 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-30 21:42:19 (GMT) |
commit | c0636faa539ec4205ec50e80844a5b0454b4bbaa (patch) | |
tree | 16af09a4c857a1ec45bf573e39c6b46fedbd103f | |
parent | 5d2e5f274f9e9a06fb934dd45260e2616a9992e6 (diff) | |
download | linux-c0636faa539ec4205ec50e80844a5b0454b4bbaa.tar.xz |
inet_diag: Add the SKMEMINFO extension
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/linux/inet_diag.h | 3 | ||||
-rw-r--r-- | net/ipv4/inet_diag.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/inet_diag.h b/include/linux/inet_diag.h index afa5d5c..34e8d52 100644 --- a/include/linux/inet_diag.h +++ b/include/linux/inet_diag.h @@ -108,9 +108,10 @@ enum { INET_DIAG_CONG, INET_DIAG_TOS, INET_DIAG_TCLASS, + INET_DIAG_SKMEMINFO, }; -#define INET_DIAG_MAX INET_DIAG_TCLASS +#define INET_DIAG_MAX INET_DIAG_SKMEMINFO /* INET_DIAG_MEM */ diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index fb2e47f..2240a8e 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -136,6 +136,10 @@ int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, minfo->idiag_tmem = sk_wmem_alloc_get(sk); } + if (ext & (1 << (INET_DIAG_SKMEMINFO - 1))) + if (sock_diag_put_meminfo(sk, skb, INET_DIAG_SKMEMINFO)) + goto rtattr_failure; + if (icsk == NULL) { r->idiag_rqueue = r->idiag_wqueue = 0; goto out; |