diff --git a/fs/seq_file.c b/fs/seq_file.c index cde1bdbf7801..3714ae1d5e1c 100644 --- a/fs/seq_file.c +++ b/fs/seq_file.c @@ -828,8 +828,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); }