summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoern Engel <joern@logfs.org>2012-06-07 14:21:14 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-06-07 14:43:55 -0700
commit39caa0916ef27cf1da5026eb708a2b8413156f75 (patch)
tree8cabf096e8a485ac623883ad57064ca1d18f253b
parentcbf8ae32f66a9ceb8907ad9e16663c2a29e48990 (diff)
downloadlinux-exynos-39caa0916ef27cf1da5026eb708a2b8413156f75.tar.gz
linux-exynos-39caa0916ef27cf1da5026eb708a2b8413156f75.tar.bz2
linux-exynos-39caa0916ef27cf1da5026eb708a2b8413156f75.zip
btree: catch NULL value before it does harm
Storing NULL values in the btree is illegal and can lead to memory corruption and possible other fun as well. Catch it on insert, instead of waiting for the inevitable. Signed-off-by: Joern Engel <joern@logfs.org> Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--lib/btree.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/btree.c b/lib/btree.c
index 5cf9e74ec3f3..f9a484676cb6 100644
--- a/lib/btree.c
+++ b/lib/btree.c
@@ -509,6 +509,7 @@ retry:
int btree_insert(struct btree_head *head, struct btree_geo *geo,
unsigned long *key, void *val, gfp_t gfp)
{
+ BUG_ON(!val);
return btree_insert_level(head, geo, key, val, 1, gfp);
}
EXPORT_SYMBOL_GPL(btree_insert);