block: Fix an error handling in add_partition
diff mbox series

Message ID 20210116072802.21940-1-dinghao.liu@zju.edu.cn
State Accepted
Commit ef49d40b61a3e18a11edd5eb1c30b0183af9e850
Headers show
Series
  • block: Fix an error handling in add_partition
Related show

Commit Message

Dinghao Liu Jan. 16, 2021, 7:27 a.m. UTC
Once we have called device_initialize(), we should
use put_device() to give up the reference on error,
just like what we have done on failure of device_add().

Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
---
 block/partitions/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Chaitanya Kulkarni Jan. 16, 2021, 8:18 a.m. UTC | #1
On 1/15/21 11:34 PM, Dinghao Liu wrote:
> Once we have called device_initialize(), we should
> use put_device() to give up the reference on error,
> just like what we have done on failure of device_add().
>
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Please consider having following commit message, since above
commit message is looking odd from what we have in the tree :-


Once we have called device_initialize(), we should use put_device() to
give up the reference on error, just like what we have done on failure
of device_add().


Also have you tested this patch with the with generating appropriate error ?
Dinghao Liu Jan. 16, 2021, 11:05 a.m. UTC | #2
> On 1/15/21 11:34 PM, Dinghao Liu wrote:
> > Once we have called device_initialize(), we should
> > use put_device() to give up the reference on error,
> > just like what we have done on failure of device_add().
> >
> > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> Please consider having following commit message, since above
> commit message is looking odd from what we have in the tree :-
> 
> 
> Once we have called device_initialize(), we should use put_device() to
> give up the reference on error, just like what we have done on failure
> of device_add().
> 

Thanks for this suggestion!
 
> 
> Also have you tested this patch with the with generating appropriate error ?
> 

No, this problem is found through comparing existing source code. 

Regards,
Dinghao

Patch
diff mbox series

diff --git a/block/partitions/core.c b/block/partitions/core.c
index e7d776db803b..23460cee9de5 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -384,7 +384,7 @@  static struct block_device *add_partition(struct gendisk *disk, int partno,
 
 	err = blk_alloc_devt(bdev, &devt);
 	if (err)
-		goto out_bdput;
+		goto out_put;
 	pdev->devt = devt;
 
 	/* delay uevent until 'holders' subdir is created */