| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Tue, 23 May 2017 17:28:36 +0300 |
| Subject: block: fix an error code in add_partition() |
| |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| |
| |
| [ 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> |
| --- |
| block/partition-generic.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/block/partition-generic.c |
| +++ b/block/partition-generic.c |
| @@ -321,8 +321,10 @@ struct hd_struct *add_partition(struct g |
| |
| 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; |
| } |