[NET]: Fix heavy stack usage in seq_file output routines.
Plan C: we can follow the Al Viro's proposal about %n like in this patch. The same applies to udp, fib (the /proc/net/route file), rt_cache and sctp debug. This is minus ~150-200 bytes for each. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
3d36696024
commit
5e659e4cb0
@@ -83,13 +83,12 @@ static sctp_dbg_objcnt_entry_t sctp_dbg_objcnt[] = {
|
||||
*/
|
||||
static int sctp_objcnt_seq_show(struct seq_file *seq, void *v)
|
||||
{
|
||||
int i;
|
||||
char temp[128];
|
||||
int i, len;
|
||||
|
||||
i = (int)*(loff_t *)v;
|
||||
sprintf(temp, "%s: %d", sctp_dbg_objcnt[i].label,
|
||||
atomic_read(sctp_dbg_objcnt[i].counter));
|
||||
seq_printf(seq, "%-127s\n", temp);
|
||||
seq_printf(seq, "%s: %d%n", sctp_dbg_objcnt[i].label,
|
||||
atomic_read(sctp_dbg_objcnt[i].counter), &len);
|
||||
seq_printf(seq, "%*s\n", 127 - len, "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user