summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2017-05-23 17:28:36 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-13 19:52:14 +0200
commit42469a9e2b152094ffabf3a9d534e4e24036cf9d (patch)
treed73e6383b735ebe29820b2e3df0b6c86aacd3562 /block
parentbe622831649a4223be0d3da88403b6774ab354f0 (diff)
downloadlinux-stable-42469a9e2b152094ffabf3a9d534e4e24036cf9d.tar.gz
linux-stable-42469a9e2b152094ffabf3a9d534e4e24036cf9d.tar.bz2
linux-stable-42469a9e2b152094ffabf3a9d534e4e24036cf9d.zip
block: fix an error code in add_partition()
[ Upstream commit 7bd897cfce1eb373892d35d7f73201b0f9b221c4 ] We don't set an error code on this path. It means that we return NULL instead of an error pointer and the caller does a NULL dereference. Fixes: 6d1d8050b4bc ("block, partition: add partition_meta_info to hd_struct") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jens Axboe <axboe@fb.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'block')
-rw-r--r--block/partition-generic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/block/partition-generic.c b/block/partition-generic.c
index 0d9e5f97f0a8..94de2055365e 100644
--- a/block/partition-generic.c
+++ b/block/partition-generic.c
@@ -309,8 +309,10 @@ struct hd_struct *add_partition(struct gendisk *disk, int partno,
if (info) {
struct partition_meta_info *pinfo = alloc_part_info(disk);
- if (!pinfo)
+ if (!pinfo) {
+ err = -ENOMEM;
goto out_free_stats;
+ }
memcpy(pinfo, info, sizeof(*info));
p->info = pinfo;
}