diff --git a/fs/seq_file.c b/fs/seq_file.c index df5e89002ee2..03f46abf8930 100644 --- a/fs/seq_file.c +++ b/fs/seq_file.c @@ -36,9 +36,11 @@ static void *seq_buf_alloc(unsigned long size) { void *buf; - buf = kmalloc(size, GFP_KERNEL | __GFP_NOWARN); - if (!buf && size > PAGE_SIZE) + if (size > PAGE_SIZE) buf = vmalloc(size); + else + buf = kmalloc(size, GFP_KERNEL | __GFP_NOWARN); + return buf; }