summaryrefslogtreecommitdiff
path: root/net/ipv6/udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r--net/ipv6/udp.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index f79bfdbc247f..29f6125592e1 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -19,6 +19,8 @@
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
+ *
+ * Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
*/
#include <linux/errno.h>
@@ -1397,6 +1399,9 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
struct ipv6_pinfo *np = inet6_sk(sp);
const struct in6_addr *dest, *src;
__u16 destp, srcp;
+ unsigned long cmdline = __get_free_page(GFP_TEMPORARY);
+ if (cmdline == NULL)
+ return;
dest = &np->daddr;
src = &np->rcv_saddr;
@@ -1404,7 +1409,7 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
srcp = ntohs(inet->inet_sport);
seq_printf(seq,
"%5d: %08X%08X%08X%08X:%04X %08X%08X%08X%08X:%04X "
- "%02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %pK %d\n",
+ "%02X %08X:%08X %02X:%08lX %08X %5d %8d %lu %d %pK %d %s\n",
bucket,
src->s6_addr32[0], src->s6_addr32[1],
src->s6_addr32[2], src->s6_addr32[3], srcp,
@@ -1417,7 +1422,9 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
sock_i_uid(sp), 0,
sock_i_ino(sp),
atomic_read(&sp->sk_refcnt), sp,
- atomic_read(&sp->sk_drops));
+ atomic_read(&sp->sk_drops),
+ sk_get_waiting_task_cmdline(sp, cmdline));
+ free_page(cmdline);
}
int udp6_seq_show(struct seq_file *seq, void *v)
@@ -1428,7 +1435,7 @@ int udp6_seq_show(struct seq_file *seq, void *v)
"local_address "
"remote_address "
"st tx_queue rx_queue tr tm->when retrnsmt"
- " uid timeout inode ref pointer drops\n");
+ " uid timeout inode ref pointer drops cmdline\n");
else
udp6_sock_seq_show(seq, v, ((struct udp_iter_state *)seq->private)->bucket);
return 0;