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 <[email protected]> --- 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

