diff --git a/fs/seq_file.c b/fs/seq_file.c index df5e89002ee203ed239b3d2e2a03eaf2f9967fa9..03f46abf893004c1e041918852a959cac69791eb 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; }