Messages in this thread Patch in this message | | | Date | Thu, 14 Apr 2016 12:31:49 +0300 | From | Dan Carpenter <> | Subject | [patch v2] md/raid0: fix uninitialized variable bug |
| |
If this function fails the callers expect that *private_conf is set to an ERR_PTR() but that isn't true for the first error path where we can't allocate "conf". It leads to some uninitialized variable bugs.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> --- v2: Shaohua suggested a different fix
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 2ea12c6..f63dbb6 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c @@ -85,6 +85,7 @@ static int create_strip_zones(struct mddev *mddev, struct r0conf **private_conf) struct r0conf *conf = kzalloc(sizeof(*conf), GFP_KERNEL); unsigned short blksize = 512; + *private_conf = ERR_PTR(-ENOMEM); if (!conf) return -ENOMEM; rdev_for_each(rdev1, mddev) {
| |