Commit ddce40df authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Trond Myklebust

sunrpc: fix crash in rpc_malloc()


While the comment says:
 * To prevent rpciod from hanging, this allocator never sleeps,
 * returning NULL if the request cannot be serviced immediately.

The function does not actually check for NULL pointers being returned.
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent e4cc6ee2
...@@ -767,6 +767,10 @@ void *rpc_malloc(struct rpc_task *task, size_t size) ...@@ -767,6 +767,10 @@ void *rpc_malloc(struct rpc_task *task, size_t size)
buf = mempool_alloc(rpc_buffer_mempool, gfp); buf = mempool_alloc(rpc_buffer_mempool, gfp);
else else
buf = kmalloc(size, gfp); buf = kmalloc(size, gfp);
if (!buf)
return NULL;
buf->len = size; buf->len = size;
dprintk("RPC: %5u allocated buffer of size %zu at %p\n", dprintk("RPC: %5u allocated buffer of size %zu at %p\n",
task->tk_pid, size, buf); task->tk_pid, size, buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment