diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2013-11-14 17:31:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-14 19:32:20 -0500 |
commit | 652586df95e5d76b37d07a11839126dcfede1621 (patch) | |
tree | e3a668265cade256302830ea3ff8b3699ab2977e | |
parent | 839cc2a94cc3665bafe32203c2f095f4dd470a80 (diff) |
seq_file: remove "%n" usage from seq_file users
All seq_printf() users are using "%n" for calculating padding size,
convert them to use seq_setwidth() / seq_pad() pair.
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Joe Perches <joe@perches.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | fs/proc/consoles.c | 10 | ||||
-rw-r--r-- | fs/proc/nommu.c | 12 | ||||
-rw-r--r-- | fs/proc/task_mmu.c | 20 | ||||
-rw-r--r-- | fs/proc/task_nommu.c | 19 | ||||
-rw-r--r-- | net/ipv4/fib_trie.c | 13 | ||||
-rw-r--r-- | net/ipv4/ping.c | 15 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 33 | ||||
-rw-r--r-- | net/ipv4/udp.c | 15 | ||||
-rw-r--r-- | net/phonet/socket.c | 24 | ||||
-rw-r--r-- | net/sctp/objcnt.c | 9 |
10 files changed, 73 insertions, 97 deletions
diff --git a/fs/proc/consoles.c b/fs/proc/consoles.c index b701eaa482bf..51942d5abcec 100644 --- a/fs/proc/consoles.c +++ b/fs/proc/consoles.c | |||
@@ -29,7 +29,6 @@ static int show_console_dev(struct seq_file *m, void *v) | |||
29 | char flags[ARRAY_SIZE(con_flags) + 1]; | 29 | char flags[ARRAY_SIZE(con_flags) + 1]; |
30 | struct console *con = v; | 30 | struct console *con = v; |
31 | unsigned int a; | 31 | unsigned int a; |
32 | int len; | ||
33 | dev_t dev = 0; | 32 | dev_t dev = 0; |
34 | 33 | ||
35 | if (con->device) { | 34 | if (con->device) { |
@@ -47,11 +46,10 @@ static int show_console_dev(struct seq_file *m, void *v) | |||
47 | con_flags[a].name : ' '; | 46 | con_flags[a].name : ' '; |
48 | flags[a] = 0; | 47 | flags[a] = 0; |
49 | 48 | ||
50 | seq_printf(m, "%s%d%n", con->name, con->index, &len); | 49 | seq_setwidth(m, 21 - 1); |
51 | len = 21 - len; | 50 | seq_printf(m, "%s%d", con->name, con->index); |
52 | if (len < 1) | 51 | seq_pad(m, ' '); |
53 | len = 1; | 52 | seq_printf(m, "%c%c%c (%s)", con->read ? 'R' : '-', |
54 | seq_printf(m, "%*c%c%c%c (%s)", len, ' ', con->read ? 'R' : '-', | ||
55 | con->write ? 'W' : '-', con->unblank ? 'U' : '-', | 53 | con->write ? 'W' : '-', con->unblank ? 'U' : '-', |
56 | flags); | 54 | flags); |
57 | if (dev) | 55 | if (dev) |
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c index ccfd99bd1c5a..5f9bc8a746c9 100644 --- a/fs/proc/nommu.c +++ b/fs/proc/nommu.c | |||
@@ -39,7 +39,7 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) | |||
39 | unsigned long ino = 0; | 39 | unsigned long ino = 0; |
40 | struct file *file; | 40 | struct file *file; |
41 | dev_t dev = 0; | 41 | dev_t dev = 0; |
42 | int flags, len; | 42 | int flags; |
43 | 43 | ||
44 | flags = region->vm_flags; | 44 | flags = region->vm_flags; |
45 | file = region->vm_file; | 45 | file = region->vm_file; |
@@ -50,8 +50,9 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) | |||
50 | ino = inode->i_ino; | 50 | ino = inode->i_ino; |
51 | } | 51 | } |
52 | 52 | ||
53 | seq_setwidth(m, 25 + sizeof(void *) * 6 - 1); | ||
53 | seq_printf(m, | 54 | seq_printf(m, |
54 | "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n", | 55 | "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu ", |
55 | region->vm_start, | 56 | region->vm_start, |
56 | region->vm_end, | 57 | region->vm_end, |
57 | flags & VM_READ ? 'r' : '-', | 58 | flags & VM_READ ? 'r' : '-', |
@@ -59,13 +60,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) | |||
59 | flags & VM_EXEC ? 'x' : '-', | 60 | flags & VM_EXEC ? 'x' : '-', |
60 | flags & VM_MAYSHARE ? flags & VM_SHARED ? 'S' : 's' : 'p', | 61 | flags & VM_MAYSHARE ? flags & VM_SHARED ? 'S' : 's' : 'p', |
61 | ((loff_t)region->vm_pgoff) << PAGE_SHIFT, | 62 | ((loff_t)region->vm_pgoff) << PAGE_SHIFT, |
62 | MAJOR(dev), MINOR(dev), ino, &len); | 63 | MAJOR(dev), MINOR(dev), ino); |
63 | 64 | ||
64 | if (file) { | 65 | if (file) { |
65 | len = 25 + sizeof(void *) * 6 - len; | 66 | seq_pad(m, ' '); |
66 | if (len < 1) | ||
67 | len = 1; | ||
68 | seq_printf(m, "%*c", len, ' '); | ||
69 | seq_path(m, &file->f_path, ""); | 67 | seq_path(m, &file->f_path, ""); |
70 | } | 68 | } |
71 | 69 | ||
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 42b5cf5d0326..fb52b548080d 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c | |||
@@ -84,14 +84,6 @@ unsigned long task_statm(struct mm_struct *mm, | |||
84 | return mm->total_vm; | 84 | return mm->total_vm; |
85 | } | 85 | } |
86 | 86 | ||
87 | static void pad_len_spaces(struct seq_file *m, int len) | ||
88 | { | ||
89 | len = 25 + sizeof(void*) * 6 - len; | ||
90 | if (len < 1) | ||
91 | len = 1; | ||
92 | seq_printf(m, "%*c", len, ' '); | ||
93 | } | ||
94 | |||
95 | #ifdef CONFIG_NUMA | 87 | #ifdef CONFIG_NUMA |
96 | /* | 88 | /* |
97 | * These functions are for numa_maps but called in generic **maps seq_file | 89 | * These functions are for numa_maps but called in generic **maps seq_file |
@@ -269,7 +261,6 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) | |||
269 | unsigned long long pgoff = 0; | 261 | unsigned long long pgoff = 0; |
270 | unsigned long start, end; | 262 | unsigned long start, end; |
271 | dev_t dev = 0; | 263 | dev_t dev = 0; |
272 | int len; | ||
273 | const char *name = NULL; | 264 | const char *name = NULL; |
274 | 265 | ||
275 | if (file) { | 266 | if (file) { |
@@ -287,7 +278,8 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) | |||
287 | if (stack_guard_page_end(vma, end)) | 278 | if (stack_guard_page_end(vma, end)) |
288 | end -= PAGE_SIZE; | 279 | end -= PAGE_SIZE; |
289 | 280 | ||
290 | seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n", | 281 | seq_setwidth(m, 25 + sizeof(void *) * 6 - 1); |
282 | seq_printf(m, "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu ", | ||
291 | start, | 283 | start, |
292 | end, | 284 | end, |
293 | flags & VM_READ ? 'r' : '-', | 285 | flags & VM_READ ? 'r' : '-', |
@@ -295,14 +287,14 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) | |||
295 | flags & VM_EXEC ? 'x' : '-', | 287 | flags & VM_EXEC ? 'x' : '-', |
296 | flags & VM_MAYSHARE ? 's' : 'p', | 288 | flags & VM_MAYSHARE ? 's' : 'p', |
297 | pgoff, | 289 | pgoff, |
298 | MAJOR(dev), MINOR(dev), ino, &len); | 290 | MAJOR(dev), MINOR(dev), ino); |
299 | 291 | ||
300 | /* | 292 | /* |
301 | * Print the dentry name for named mappings, and a | 293 | * Print the dentry name for named mappings, and a |
302 | * special [heap] marker for the heap: | 294 | * special [heap] marker for the heap: |
303 | */ | 295 | */ |
304 | if (file) { | 296 | if (file) { |
305 | pad_len_spaces(m, len); | 297 | seq_pad(m, ' '); |
306 | seq_path(m, &file->f_path, "\n"); | 298 | seq_path(m, &file->f_path, "\n"); |
307 | goto done; | 299 | goto done; |
308 | } | 300 | } |
@@ -334,7 +326,7 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) | |||
334 | name = "[stack]"; | 326 | name = "[stack]"; |
335 | } else { | 327 | } else { |
336 | /* Thread stack in /proc/PID/maps */ | 328 | /* Thread stack in /proc/PID/maps */ |
337 | pad_len_spaces(m, len); | 329 | seq_pad(m, ' '); |
338 | seq_printf(m, "[stack:%d]", tid); | 330 | seq_printf(m, "[stack:%d]", tid); |
339 | } | 331 | } |
340 | } | 332 | } |
@@ -342,7 +334,7 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) | |||
342 | 334 | ||
343 | done: | 335 | done: |
344 | if (name) { | 336 | if (name) { |
345 | pad_len_spaces(m, len); | 337 | seq_pad(m, ' '); |
346 | seq_puts(m, name); | 338 | seq_puts(m, name); |
347 | } | 339 | } |
348 | seq_putc(m, '\n'); | 340 | seq_putc(m, '\n'); |
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c index 56123a6f462e..678455d2d683 100644 --- a/fs/proc/task_nommu.c +++ b/fs/proc/task_nommu.c | |||
@@ -123,14 +123,6 @@ unsigned long task_statm(struct mm_struct *mm, | |||
123 | return size; | 123 | return size; |
124 | } | 124 | } |
125 | 125 | ||
126 | static void pad_len_spaces(struct seq_file *m, int len) | ||
127 | { | ||
128 | len = 25 + sizeof(void*) * 6 - len; | ||
129 | if (len < 1) | ||
130 | len = 1; | ||
131 | seq_printf(m, "%*c", len, ' '); | ||
132 | } | ||
133 | |||
134 | /* | 126 | /* |
135 | * display a single VMA to a sequenced file | 127 | * display a single VMA to a sequenced file |
136 | */ | 128 | */ |
@@ -142,7 +134,7 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, | |||
142 | unsigned long ino = 0; | 134 | unsigned long ino = 0; |
143 | struct file *file; | 135 | struct file *file; |
144 | dev_t dev = 0; | 136 | dev_t dev = 0; |
145 | int flags, len; | 137 | int flags; |
146 | unsigned long long pgoff = 0; | 138 | unsigned long long pgoff = 0; |
147 | 139 | ||
148 | flags = vma->vm_flags; | 140 | flags = vma->vm_flags; |
@@ -155,8 +147,9 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, | |||
155 | pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; | 147 | pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; |
156 | } | 148 | } |
157 | 149 | ||
150 | seq_setwidth(m, 25 + sizeof(void *) * 6 - 1); | ||
158 | seq_printf(m, | 151 | seq_printf(m, |
159 | "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu %n", | 152 | "%08lx-%08lx %c%c%c%c %08llx %02x:%02x %lu ", |
160 | vma->vm_start, | 153 | vma->vm_start, |
161 | vma->vm_end, | 154 | vma->vm_end, |
162 | flags & VM_READ ? 'r' : '-', | 155 | flags & VM_READ ? 'r' : '-', |
@@ -164,16 +157,16 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma, | |||
164 | flags & VM_EXEC ? 'x' : '-', | 157 | flags & VM_EXEC ? 'x' : '-', |
165 | flags & VM_MAYSHARE ? flags & VM_SHARED ? 'S' : 's' : 'p', | 158 | flags & VM_MAYSHARE ? flags & VM_SHARED ? 'S' : 's' : 'p', |
166 | pgoff, | 159 | pgoff, |
167 | MAJOR(dev), MINOR(dev), ino, &len); | 160 | MAJOR(dev), MINOR(dev), ino); |
168 | 161 | ||
169 | if (file) { | 162 | if (file) { |
170 | pad_len_spaces(m, len); | 163 | seq_pad(m, ' '); |
171 | seq_path(m, &file->f_path, ""); | 164 | seq_path(m, &file->f_path, ""); |
172 | } else if (mm) { | 165 | } else if (mm) { |
173 | pid_t tid = vm_is_stack(priv->task, vma, is_pid); | 166 | pid_t tid = vm_is_stack(priv->task, vma, is_pid); |
174 | 167 | ||
175 | if (tid != 0) { | 168 | if (tid != 0) { |
176 | pad_len_spaces(m, len); | 169 | seq_pad(m, ' '); |
177 | /* | 170 | /* |
178 | * Thread stack in /proc/PID/task/TID/maps or | 171 | * Thread stack in /proc/PID/task/TID/maps or |
179 | * the main process stack. | 172 | * the main process stack. |
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index ec9a9ef4ce50..5afeb5aa4c7c 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -2523,16 +2523,17 @@ static int fib_route_seq_show(struct seq_file *seq, void *v) | |||
2523 | list_for_each_entry_rcu(fa, &li->falh, fa_list) { | 2523 | list_for_each_entry_rcu(fa, &li->falh, fa_list) { |
2524 | const struct fib_info *fi = fa->fa_info; | 2524 | const struct fib_info *fi = fa->fa_info; |
2525 | unsigned int flags = fib_flag_trans(fa->fa_type, mask, fi); | 2525 | unsigned int flags = fib_flag_trans(fa->fa_type, mask, fi); |
2526 | int len; | ||
2527 | 2526 | ||
2528 | if (fa->fa_type == RTN_BROADCAST | 2527 | if (fa->fa_type == RTN_BROADCAST |
2529 | || fa->fa_type == RTN_MULTICAST) | 2528 | || fa->fa_type == RTN_MULTICAST) |
2530 | continue; | 2529 | continue; |
2531 | 2530 | ||
2531 | seq_setwidth(seq, 127); | ||
2532 | |||
2532 | if (fi) | 2533 | if (fi) |
2533 | seq_printf(seq, | 2534 | seq_printf(seq, |
2534 | "%s\t%08X\t%08X\t%04X\t%d\t%u\t" | 2535 | "%s\t%08X\t%08X\t%04X\t%d\t%u\t" |
2535 | "%d\t%08X\t%d\t%u\t%u%n", | 2536 | "%d\t%08X\t%d\t%u\t%u", |
2536 | fi->fib_dev ? fi->fib_dev->name : "*", | 2537 | fi->fib_dev ? fi->fib_dev->name : "*", |
2537 | prefix, | 2538 | prefix, |
2538 | fi->fib_nh->nh_gw, flags, 0, 0, | 2539 | fi->fib_nh->nh_gw, flags, 0, 0, |
@@ -2541,15 +2542,15 @@ static int fib_route_seq_show(struct seq_file *seq, void *v) | |||
2541 | (fi->fib_advmss ? | 2542 | (fi->fib_advmss ? |
2542 | fi->fib_advmss + 40 : 0), | 2543 | fi->fib_advmss + 40 : 0), |
2543 | fi->fib_window, | 2544 | fi->fib_window, |
2544 | fi->fib_rtt >> 3, &len); | 2545 | fi->fib_rtt >> 3); |
2545 | else | 2546 | else |
2546 | seq_printf(seq, | 2547 | seq_printf(seq, |
2547 | "*\t%08X\t%08X\t%04X\t%d\t%u\t" | 2548 | "*\t%08X\t%08X\t%04X\t%d\t%u\t" |
2548 | "%d\t%08X\t%d\t%u\t%u%n", | 2549 | "%d\t%08X\t%d\t%u\t%u", |
2549 | prefix, 0, flags, 0, 0, 0, | 2550 | prefix, 0, flags, 0, 0, 0, |
2550 | mask, 0, 0, 0, &len); | 2551 | mask, 0, 0, 0); |
2551 | 2552 | ||
2552 | seq_printf(seq, "%*s\n", 127 - len, ""); | 2553 | seq_pad(seq, '\n'); |
2553 | } | 2554 | } |
2554 | } | 2555 | } |
2555 | 2556 | ||
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index 9afbdb19f4a2..cbc85f660d54 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c | |||
@@ -1076,7 +1076,7 @@ void ping_seq_stop(struct seq_file *seq, void *v) | |||
1076 | EXPORT_SYMBOL_GPL(ping_seq_stop); | 1076 | EXPORT_SYMBOL_GPL(ping_seq_stop); |
1077 | 1077 | ||
1078 | static void ping_v4_format_sock(struct sock *sp, struct seq_file *f, | 1078 | static void ping_v4_format_sock(struct sock *sp, struct seq_file *f, |
1079 | int bucket, int *len) | 1079 | int bucket) |
1080 | { | 1080 | { |
1081 | struct inet_sock *inet = inet_sk(sp); | 1081 | struct inet_sock *inet = inet_sk(sp); |
1082 | __be32 dest = inet->inet_daddr; | 1082 | __be32 dest = inet->inet_daddr; |
@@ -1085,7 +1085,7 @@ static void ping_v4_format_sock(struct sock *sp, struct seq_file *f, | |||
1085 | __u16 srcp = ntohs(inet->inet_sport); | 1085 | __u16 srcp = ntohs(inet->inet_sport); |
1086 | 1086 | ||
1087 | seq_printf(f, "%5d: %08X:%04X %08X:%04X" | 1087 | seq_printf(f, "%5d: %08X:%04X %08X:%04X" |
1088 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %d%n", | 1088 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %d", |
1089 | bucket, src, srcp, dest, destp, sp->sk_state, | 1089 | bucket, src, srcp, dest, destp, sp->sk_state, |
1090 | sk_wmem_alloc_get(sp), | 1090 | sk_wmem_alloc_get(sp), |
1091 | sk_rmem_alloc_get(sp), | 1091 | sk_rmem_alloc_get(sp), |
@@ -1093,23 +1093,22 @@ static void ping_v4_format_sock(struct sock *sp, struct seq_file *f, | |||
1093 | from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)), | 1093 | from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)), |
1094 | 0, sock_i_ino(sp), | 1094 | 0, sock_i_ino(sp), |
1095 | atomic_read(&sp->sk_refcnt), sp, | 1095 | atomic_read(&sp->sk_refcnt), sp, |
1096 | atomic_read(&sp->sk_drops), len); | 1096 | atomic_read(&sp->sk_drops)); |
1097 | } | 1097 | } |
1098 | 1098 | ||
1099 | static int ping_v4_seq_show(struct seq_file *seq, void *v) | 1099 | static int ping_v4_seq_show(struct seq_file *seq, void *v) |
1100 | { | 1100 | { |
1101 | seq_setwidth(seq, 127); | ||
1101 | if (v == SEQ_START_TOKEN) | 1102 | if (v == SEQ_START_TOKEN) |
1102 | seq_printf(seq, "%-127s\n", | 1103 | seq_puts(seq, " sl local_address rem_address st tx_queue " |
1103 | " sl local_address rem_address st tx_queue " | ||
1104 | "rx_queue tr tm->when retrnsmt uid timeout " | 1104 | "rx_queue tr tm->when retrnsmt uid timeout " |
1105 | "inode ref pointer drops"); | 1105 | "inode ref pointer drops"); |
1106 | else { | 1106 | else { |
1107 | struct ping_iter_state *state = seq->private; | 1107 | struct ping_iter_state *state = seq->private; |
1108 | int len; | ||
1109 | 1108 | ||
1110 | ping_v4_format_sock(v, seq, state->bucket, &len); | 1109 | ping_v4_format_sock(v, seq, state->bucket); |
1111 | seq_printf(seq, "%*s\n", 127 - len, ""); | ||
1112 | } | 1110 | } |
1111 | seq_pad(seq, '\n'); | ||
1113 | return 0; | 1112 | return 0; |
1114 | } | 1113 | } |
1115 | 1114 | ||
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 14bba8a1c5a7..59a6f8b90cd9 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -2541,13 +2541,13 @@ void tcp_proc_unregister(struct net *net, struct tcp_seq_afinfo *afinfo) | |||
2541 | EXPORT_SYMBOL(tcp_proc_unregister); | 2541 | EXPORT_SYMBOL(tcp_proc_unregister); |
2542 | 2542 | ||
2543 | static void get_openreq4(const struct sock *sk, const struct request_sock *req, | 2543 | static void get_openreq4(const struct sock *sk, const struct request_sock *req, |
2544 | struct seq_file *f, int i, kuid_t uid, int *len) | 2544 | struct seq_file *f, int i, kuid_t uid) |
2545 | { | 2545 | { |
2546 | const struct inet_request_sock *ireq = inet_rsk(req); | 2546 | const struct inet_request_sock *ireq = inet_rsk(req); |
2547 | long delta = req->expires - jiffies; | 2547 | long delta = req->expires - jiffies; |
2548 | 2548 | ||
2549 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" | 2549 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" |
2550 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK%n", | 2550 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %u %d %pK", |
2551 | i, | 2551 | i, |
2552 | ireq->ir_loc_addr, | 2552 | ireq->ir_loc_addr, |
2553 | ntohs(inet_sk(sk)->inet_sport), | 2553 | ntohs(inet_sk(sk)->inet_sport), |
@@ -2562,11 +2562,10 @@ static void get_openreq4(const struct sock *sk, const struct request_sock *req, | |||
2562 | 0, /* non standard timer */ | 2562 | 0, /* non standard timer */ |
2563 | 0, /* open_requests have no inode */ | 2563 | 0, /* open_requests have no inode */ |
2564 | atomic_read(&sk->sk_refcnt), | 2564 | atomic_read(&sk->sk_refcnt), |
2565 | req, | 2565 | req); |
2566 | len); | ||
2567 | } | 2566 | } |
2568 | 2567 | ||
2569 | static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len) | 2568 | static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i) |
2570 | { | 2569 | { |
2571 | int timer_active; | 2570 | int timer_active; |
2572 | unsigned long timer_expires; | 2571 | unsigned long timer_expires; |
@@ -2605,7 +2604,7 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len) | |||
2605 | rx_queue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0); | 2604 | rx_queue = max_t(int, tp->rcv_nxt - tp->copied_seq, 0); |
2606 | 2605 | ||
2607 | seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX " | 2606 | seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX " |
2608 | "%08X %5u %8d %lu %d %pK %lu %lu %u %u %d%n", | 2607 | "%08X %5u %8d %lu %d %pK %lu %lu %u %u %d", |
2609 | i, src, srcp, dest, destp, sk->sk_state, | 2608 | i, src, srcp, dest, destp, sk->sk_state, |
2610 | tp->write_seq - tp->snd_una, | 2609 | tp->write_seq - tp->snd_una, |
2611 | rx_queue, | 2610 | rx_queue, |
@@ -2622,12 +2621,11 @@ static void get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len) | |||
2622 | tp->snd_cwnd, | 2621 | tp->snd_cwnd, |
2623 | sk->sk_state == TCP_LISTEN ? | 2622 | sk->sk_state == TCP_LISTEN ? |
2624 | (fastopenq ? fastopenq->max_qlen : 0) : | 2623 | (fastopenq ? fastopenq->max_qlen : 0) : |
2625 | (tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh), | 2624 | (tcp_in_initial_slowstart(tp) ? -1 : tp->snd_ssthresh)); |
2626 | len); | ||
2627 | } | 2625 | } |
2628 | 2626 | ||
2629 | static void get_timewait4_sock(const struct inet_timewait_sock *tw, | 2627 | static void get_timewait4_sock(const struct inet_timewait_sock *tw, |
2630 | struct seq_file *f, int i, int *len) | 2628 | struct seq_file *f, int i) |
2631 | { | 2629 | { |
2632 | __be32 dest, src; | 2630 | __be32 dest, src; |
2633 | __u16 destp, srcp; | 2631 | __u16 destp, srcp; |
@@ -2639,10 +2637,10 @@ static void get_timewait4_sock(const struct inet_timewait_sock *tw, | |||
2639 | srcp = ntohs(tw->tw_sport); | 2637 | srcp = ntohs(tw->tw_sport); |
2640 | 2638 | ||
2641 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" | 2639 | seq_printf(f, "%4d: %08X:%04X %08X:%04X" |
2642 | " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK%n", | 2640 | " %02X %08X:%08X %02X:%08lX %08X %5d %8d %d %d %pK", |
2643 | i, src, srcp, dest, destp, tw->tw_substate, 0, 0, | 2641 | i, src, srcp, dest, destp, tw->tw_substate, 0, 0, |
2644 | 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0, | 2642 | 3, jiffies_delta_to_clock_t(delta), 0, 0, 0, 0, |
2645 | atomic_read(&tw->tw_refcnt), tw, len); | 2643 | atomic_read(&tw->tw_refcnt), tw); |
2646 | } | 2644 | } |
2647 | 2645 | ||
2648 | #define TMPSZ 150 | 2646 | #define TMPSZ 150 |
@@ -2651,11 +2649,10 @@ static int tcp4_seq_show(struct seq_file *seq, void *v) | |||
2651 | { | 2649 | { |
2652 | struct tcp_iter_state *st; | 2650 | struct tcp_iter_state *st; |
2653 | struct sock *sk = v; | 2651 | struct sock *sk = v; |
2654 | int len; | ||
2655 | 2652 | ||
2653 | seq_setwidth(seq, TMPSZ - 1); | ||
2656 | if (v == SEQ_START_TOKEN) { | 2654 | if (v == SEQ_START_TOKEN) { |
2657 | seq_printf(seq, "%-*s\n", TMPSZ - 1, | 2655 | seq_puts(seq, " sl local_address rem_address st tx_queue " |
2658 | " sl local_address rem_address st tx_queue " | ||
2659 | "rx_queue tr tm->when retrnsmt uid timeout " | 2656 | "rx_queue tr tm->when retrnsmt uid timeout " |
2660 | "inode"); | 2657 | "inode"); |
2661 | goto out; | 2658 | goto out; |
@@ -2666,16 +2663,16 @@ static int tcp4_seq_show(struct seq_file *seq, void *v) | |||
2666 | case TCP_SEQ_STATE_LISTENING: | 2663 | case TCP_SEQ_STATE_LISTENING: |
2667 | case TCP_SEQ_STATE_ESTABLISHED: | 2664 | case TCP_SEQ_STATE_ESTABLISHED: |
2668 | if (sk->sk_state == TCP_TIME_WAIT) | 2665 | if (sk->sk_state == TCP_TIME_WAIT) |
2669 | get_timewait4_sock(v, seq, st->num, &len); | 2666 | get_timewait4_sock(v, seq, st->num); |
2670 | else | 2667 | else |
2671 | get_tcp4_sock(v, seq, st->num, &len); | 2668 | get_tcp4_sock(v, seq, st->num); |
2672 | break; | 2669 | break; |
2673 | case TCP_SEQ_STATE_OPENREQ: | 2670 | case TCP_SEQ_STATE_OPENREQ: |
2674 | get_openreq4(st->syn_wait_sk, v, seq, st->num, st->uid, &len); | 2671 | get_openreq4(st->syn_wait_sk, v, seq, st->num, st->uid); |
2675 | break; | 2672 | break; |
2676 | } | 2673 | } |
2677 | seq_printf(seq, "%*s\n", TMPSZ - 1 - len, ""); | ||
2678 | out: | 2674 | out: |
2675 | seq_pad(seq, '\n'); | ||
2679 | return 0; | 2676 | return 0; |
2680 | } | 2677 | } |
2681 | 2678 | ||
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 89909dd730dd..de86e5bc4462 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -2331,7 +2331,7 @@ EXPORT_SYMBOL(udp_proc_unregister); | |||
2331 | 2331 | ||
2332 | /* ------------------------------------------------------------------------ */ | 2332 | /* ------------------------------------------------------------------------ */ |
2333 | static void udp4_format_sock(struct sock *sp, struct seq_file *f, | 2333 | static void udp4_format_sock(struct sock *sp, struct seq_file *f, |
2334 | int bucket, int *len) | 2334 | int bucket) |
2335 | { | 2335 | { |
2336 | struct inet_sock *inet = inet_sk(sp); | 2336 | struct inet_sock *inet = inet_sk(sp); |
2337 | __be32 dest = inet->inet_daddr; | 2337 | __be32 dest = inet->inet_daddr; |
@@ -2340,7 +2340,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f, | |||
2340 | __u16 srcp = ntohs(inet->inet_sport); | 2340 | __u16 srcp = ntohs(inet->inet_sport); |
2341 | 2341 | ||
2342 | seq_printf(f, "%5d: %08X:%04X %08X:%04X" | 2342 | seq_printf(f, "%5d: %08X:%04X %08X:%04X" |
2343 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %d%n", | 2343 | " %02X %08X:%08X %02X:%08lX %08X %5u %8d %lu %d %pK %d", |
2344 | bucket, src, srcp, dest, destp, sp->sk_state, | 2344 | bucket, src, srcp, dest, destp, sp->sk_state, |
2345 | sk_wmem_alloc_get(sp), | 2345 | sk_wmem_alloc_get(sp), |
2346 | sk_rmem_alloc_get(sp), | 2346 | sk_rmem_alloc_get(sp), |
@@ -2348,23 +2348,22 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f, | |||
2348 | from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)), | 2348 | from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)), |
2349 | 0, sock_i_ino(sp), | 2349 | 0, sock_i_ino(sp), |
2350 | atomic_read(&sp->sk_refcnt), sp, | 2350 | atomic_read(&sp->sk_refcnt), sp, |
2351 | atomic_read(&sp->sk_drops), len); | 2351 | atomic_read(&sp->sk_drops)); |
2352 | } | 2352 | } |
2353 | 2353 | ||
2354 | int udp4_seq_show(struct seq_file *seq, void *v) | 2354 | int udp4_seq_show(struct seq_file *seq, void *v) |
2355 | { | 2355 | { |
2356 | seq_setwidth(seq, 127); | ||
2356 | if (v == SEQ_START_TOKEN) | 2357 | if (v == SEQ_START_TOKEN) |
2357 | seq_printf(seq, "%-127s\n", | 2358 | seq_puts(seq, " sl local_address rem_address st tx_queue " |
2358 | " sl local_address rem_address st tx_queue " | ||
2359 | "rx_queue tr tm->when retrnsmt uid timeout " | 2359 | "rx_queue tr tm->when retrnsmt uid timeout " |
2360 | "inode ref pointer drops"); | 2360 | "inode ref pointer drops"); |
2361 | else { | 2361 | else { |
2362 | struct udp_iter_state *state = seq->private; | 2362 | struct udp_iter_state *state = seq->private; |
2363 | int len; | ||
2364 | 2363 | ||
2365 | udp4_format_sock(v, seq, state->bucket, &len); | 2364 | udp4_format_sock(v, seq, state->bucket); |
2366 | seq_printf(seq, "%*s\n", 127 - len, ""); | ||
2367 | } | 2365 | } |
2366 | seq_pad(seq, '\n'); | ||
2368 | return 0; | 2367 | return 0; |
2369 | } | 2368 | } |
2370 | 2369 | ||
diff --git a/net/phonet/socket.c b/net/phonet/socket.c index 77e38f733496..008214a3d5eb 100644 --- a/net/phonet/socket.c +++ b/net/phonet/socket.c | |||
@@ -595,26 +595,25 @@ static void pn_sock_seq_stop(struct seq_file *seq, void *v) | |||
595 | 595 | ||
596 | static int pn_sock_seq_show(struct seq_file *seq, void *v) | 596 | static int pn_sock_seq_show(struct seq_file *seq, void *v) |
597 | { | 597 | { |
598 | int len; | 598 | seq_setwidth(seq, 127); |
599 | |||
600 | if (v == SEQ_START_TOKEN) | 599 | if (v == SEQ_START_TOKEN) |
601 | seq_printf(seq, "%s%n", "pt loc rem rs st tx_queue rx_queue " | 600 | seq_puts(seq, "pt loc rem rs st tx_queue rx_queue " |
602 | " uid inode ref pointer drops", &len); | 601 | " uid inode ref pointer drops"); |
603 | else { | 602 | else { |
604 | struct sock *sk = v; | 603 | struct sock *sk = v; |
605 | struct pn_sock *pn = pn_sk(sk); | 604 | struct pn_sock *pn = pn_sk(sk); |
606 | 605 | ||
607 | seq_printf(seq, "%2d %04X:%04X:%02X %02X %08X:%08X %5d %lu " | 606 | seq_printf(seq, "%2d %04X:%04X:%02X %02X %08X:%08X %5d %lu " |
608 | "%d %pK %d%n", | 607 | "%d %pK %d", |
609 | sk->sk_protocol, pn->sobject, pn->dobject, | 608 | sk->sk_protocol, pn->sobject, pn->dobject, |
610 | pn->resource, sk->sk_state, | 609 | pn->resource, sk->sk_state, |
611 | sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk), | 610 | sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk), |
612 | from_kuid_munged(seq_user_ns(seq), sock_i_uid(sk)), | 611 | from_kuid_munged(seq_user_ns(seq), sock_i_uid(sk)), |
613 | sock_i_ino(sk), | 612 | sock_i_ino(sk), |
614 | atomic_read(&sk->sk_refcnt), sk, | 613 | atomic_read(&sk->sk_refcnt), sk, |
615 | atomic_read(&sk->sk_drops), &len); | 614 | atomic_read(&sk->sk_drops)); |
616 | } | 615 | } |
617 | seq_printf(seq, "%*s\n", 127 - len, ""); | 616 | seq_pad(seq, '\n'); |
618 | return 0; | 617 | return 0; |
619 | } | 618 | } |
620 | 619 | ||
@@ -785,20 +784,19 @@ static void pn_res_seq_stop(struct seq_file *seq, void *v) | |||
785 | 784 | ||
786 | static int pn_res_seq_show(struct seq_file *seq, void *v) | 785 | static int pn_res_seq_show(struct seq_file *seq, void *v) |
787 | { | 786 | { |
788 | int len; | 787 | seq_setwidth(seq, 63); |
789 | |||
790 | if (v == SEQ_START_TOKEN) | 788 | if (v == SEQ_START_TOKEN) |
791 | seq_printf(seq, "%s%n", "rs uid inode", &len); | 789 | seq_puts(seq, "rs uid inode"); |
792 | else { | 790 | else { |
793 | struct sock **psk = v; | 791 | struct sock **psk = v; |
794 | struct sock *sk = *psk; | 792 | struct sock *sk = *psk; |
795 | 793 | ||
796 | seq_printf(seq, "%02X %5u %lu%n", | 794 | seq_printf(seq, "%02X %5u %lu", |
797 | (int) (psk - pnres.sk), | 795 | (int) (psk - pnres.sk), |
798 | from_kuid_munged(seq_user_ns(seq), sock_i_uid(sk)), | 796 | from_kuid_munged(seq_user_ns(seq), sock_i_uid(sk)), |
799 | sock_i_ino(sk), &len); | 797 | sock_i_ino(sk)); |
800 | } | 798 | } |
801 | seq_printf(seq, "%*s\n", 63 - len, ""); | 799 | seq_pad(seq, '\n'); |
802 | return 0; | 800 | return 0; |
803 | } | 801 | } |
804 | 802 | ||
diff --git a/net/sctp/objcnt.c b/net/sctp/objcnt.c index 5ea573b37648..647396baa56f 100644 --- a/net/sctp/objcnt.c +++ b/net/sctp/objcnt.c | |||
@@ -79,12 +79,13 @@ static sctp_dbg_objcnt_entry_t sctp_dbg_objcnt[] = { | |||
79 | */ | 79 | */ |
80 | static int sctp_objcnt_seq_show(struct seq_file *seq, void *v) | 80 | static int sctp_objcnt_seq_show(struct seq_file *seq, void *v) |
81 | { | 81 | { |
82 | int i, len; | 82 | int i; |
83 | 83 | ||
84 | i = (int)*(loff_t *)v; | 84 | i = (int)*(loff_t *)v; |
85 | seq_printf(seq, "%s: %d%n", sctp_dbg_objcnt[i].label, | 85 | seq_setwidth(seq, 127); |
86 | atomic_read(sctp_dbg_objcnt[i].counter), &len); | 86 | seq_printf(seq, "%s: %d", sctp_dbg_objcnt[i].label, |
87 | seq_printf(seq, "%*s\n", 127 - len, ""); | 87 | atomic_read(sctp_dbg_objcnt[i].counter)); |
88 | seq_pad(seq, '\n'); | ||
88 | return 0; | 89 | return 0; |
89 | } | 90 | } |
90 | 91 | ||