From: Goldwyn Rodrigues Date: Wed, 22 Jul 2015 17:09:15 +0000 (-0500) Subject: md: Return error if request_module fails and returns positive value X-Git-Tag: v4.2~142^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b0c26a79d6993b280931f8e2b406ca4b220bb58f;p=platform%2Fkernel%2Flinux-amlogic.git md: Return error if request_module fails and returns positive value request_module() can return 256 (process exited) in some cases, which is not as specified in the documentation before the request_module() definition. Convert the error to -ENOENT. The positive error number results in bitmap_create() returning a value that is meant to be an error but doesn't look like one, so it is dereferenced as a point and causes a crash. (not needed for stable as this is "experimental" code) Fixes: edb39c9deda8 ("Introduce md_cluster_operations to handle cluster functions") Signed-off-By: Goldwyn Rodrigues Signed-off-by: NeilBrown --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 5025b3e..0fcf6de 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -7439,7 +7439,7 @@ int md_setup_cluster(struct mddev *mddev, int nodes) err = request_module("md-cluster"); if (err) { pr_err("md-cluster module not found.\n"); - return err; + return -ENOENT; } spin_lock(&pers_lock);