Commit 257b529876cb45ec791eaa89e3d2ee0d16b49383

Authored by Pavel Emelyanov
Committed by David S. Miller
1 parent c0636faa53

unix_diag: Add the MEMINFO extension

[ Fix indentation of sock_diag*() calls. -DaveM ]

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 2 changed files with 14 additions and 8 deletions Side-by-side Diff

include/linux/unix_diag.h
... ... @@ -18,6 +18,7 @@
18 18 #define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */
19 19 #define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */
20 20 #define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */
  21 +#define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */
21 22  
22 23 struct unix_diag_msg {
23 24 __u8 udiag_family;
... ... @@ -35,6 +36,7 @@
35 36 UNIX_DIAG_PEER,
36 37 UNIX_DIAG_ICONS,
37 38 UNIX_DIAG_RQLEN,
  39 + UNIX_DIAG_MEMINFO,
38 40  
39 41 UNIX_DIAG_MAX,
40 42 };
... ... @@ -127,25 +127,29 @@
127 127 sock_diag_save_cookie(sk, rep->udiag_cookie);
128 128  
129 129 if ((req->udiag_show & UDIAG_SHOW_NAME) &&
130   - sk_diag_dump_name(sk, skb))
  130 + sk_diag_dump_name(sk, skb))
131 131 goto nlmsg_failure;
132 132  
133 133 if ((req->udiag_show & UDIAG_SHOW_VFS) &&
134   - sk_diag_dump_vfs(sk, skb))
  134 + sk_diag_dump_vfs(sk, skb))
135 135 goto nlmsg_failure;
136 136  
137 137 if ((req->udiag_show & UDIAG_SHOW_PEER) &&
138   - sk_diag_dump_peer(sk, skb))
  138 + sk_diag_dump_peer(sk, skb))
139 139 goto nlmsg_failure;
140 140  
141 141 if ((req->udiag_show & UDIAG_SHOW_ICONS) &&
142   - sk_diag_dump_icons(sk, skb))
  142 + sk_diag_dump_icons(sk, skb))
143 143 goto nlmsg_failure;
144 144  
145 145 if ((req->udiag_show & UDIAG_SHOW_RQLEN) &&
146   - sk_diag_show_rqlen(sk, skb))
  146 + sk_diag_show_rqlen(sk, skb))
147 147 goto nlmsg_failure;
148 148  
  149 + if ((req->udiag_show & UDIAG_SHOW_MEMINFO) &&
  150 + sock_diag_put_meminfo(sk, skb, UNIX_DIAG_MEMINFO))
  151 + goto nlmsg_failure;
  152 +
149 153 nlh->nlmsg_len = skb_tail_pointer(skb) - b;
150 154 return skb->len;
151 155  
... ... @@ -191,9 +195,9 @@
191 195 if (!(req->udiag_states & (1 << sk->sk_state)))
192 196 goto next;
193 197 if (sk_diag_dump(sk, skb, req,
194   - NETLINK_CB(cb->skb).pid,
195   - cb->nlh->nlmsg_seq,
196   - NLM_F_MULTI) < 0)
  198 + NETLINK_CB(cb->skb).pid,
  199 + cb->nlh->nlmsg_seq,
  200 + NLM_F_MULTI) < 0)
197 201 goto done;
198 202 next:
199 203 num++;