diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2016-04-14 12:31:49 +0300 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-04-14 19:57:59 +0300 |
commit | 7dedd15dd2527055390b9742c87a02556d3180f4 (patch) | |
tree | 18d258bfbee4dfb7f2240eecf186843acf613535 /drivers/md | |
parent | 5b5b7fd185e997ebc18f76b98b9f4ff148d3f5bb (diff) | |
download | linux-7dedd15dd2527055390b9742c87a02556d3180f4.tar.xz |
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>
Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/raid0.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index 2ea12c6bf659..f63dbb68e3a9 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) { |