[PATCH] genalloc: Check result of devres_alloc()

From: Jan Kara
Date: Wed Jan 21 2015 - 07:45:48 EST


devm_gen_pool_create() calls devres_alloc() and dereferences its result
without checking whether devres_alloc() succeeded. Check for error and
bail out if it happened.

Coverity-id: 1016493
Signed-off-by: Jan Kara <jack@xxxxxxx>
---
lib/genalloc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/lib/genalloc.c b/lib/genalloc.c
index 2e65d206b01c..094f8bee021f 100644
--- a/lib/genalloc.c
+++ b/lib/genalloc.c
@@ -587,6 +587,8 @@ struct gen_pool *devm_gen_pool_create(struct device *dev, int min_alloc_order,
struct gen_pool **ptr, *pool;

ptr = devres_alloc(devm_gen_pool_release, sizeof(*ptr), GFP_KERNEL);
+ if (!ptr)
+ return NULL;

pool = gen_pool_create(min_alloc_order, nid);
if (pool) {
--
2.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/