diff --git a/fs/seq_file.c b/fs/seq_file.c index f7d1973c2ee1..de0f8033f6f9 100644 --- a/fs/seq_file.c +++ b/fs/seq_file.c @@ -831,8 +831,14 @@ EXPORT_SYMBOL(seq_write); void seq_pad(struct seq_file *m, char c) { int size = m->pad_until - m->count; - if (size > 0) - seq_printf(m, "%*s", size, ""); + if (size > 0) { + if (size + m->count > m->size) { + seq_set_overflow(m); + return; + } + memset(m->buf + m->count, ' ', size); + m->count += size; + } if (c) seq_putc(m, c); }