summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkirjanov@gmail.com <kirjanov@gmail.com>2010-05-15 12:32:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-15 12:48:10 -0700
commit43aa7ac736a4e21aae4882bd8f7c67403aed45b8 (patch)
tree8ebbe9c6053c6552de8ee120384afb1b02bf8f47
parentbdef2fe88b1e4bde7458aedd207929ce3f9d66ee (diff)
downloadlinux-stable-43aa7ac736a4e21aae4882bd8f7c67403aed45b8.tar.gz
linux-stable-43aa7ac736a4e21aae4882bd8f7c67403aed45b8.tar.bz2
linux-stable-43aa7ac736a4e21aae4882bd8f7c67403aed45b8.zip
lib/btree: fix possible NULL pointer dereference
mempool_alloc() can return null in atomic case. Signed-off-by: Denis Kirjanov <kirjanov@gmail.com> Cc: Joern Engel <joern@logfs.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--lib/btree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/btree.c b/lib/btree.c
index 41859a820218..c9c6f0351526 100644
--- a/lib/btree.c
+++ b/lib/btree.c
@@ -95,7 +95,8 @@ static unsigned long *btree_node_alloc(struct btree_head *head, gfp_t gfp)
unsigned long *node;
node = mempool_alloc(head->mempool, gfp);
- memset(node, 0, NODESIZE);
+ if (likely(node))
+ memset(node, 0, NODESIZE);
return node;
}