Răsfoiți Sursa

dm thin metadata: unlock superblock in init_pmd error path

If dm_sm_disk_create() fails the superblock must be unlocked.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@kernel.org
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber 14 ani în urmă
părinte
comite
4469a5f387
1 a modificat fișierele cu 1 adăugiri și 0 ștergeri
  1. 1 0
      drivers/md/dm-thin-metadata.c

+ 1 - 0
drivers/md/dm-thin-metadata.c

@@ -385,6 +385,7 @@ static int init_pmd(struct dm_pool_metadata *pmd,
 		data_sm = dm_sm_disk_create(tm, nr_blocks);
 		data_sm = dm_sm_disk_create(tm, nr_blocks);
 		if (IS_ERR(data_sm)) {
 		if (IS_ERR(data_sm)) {
 			DMERR("sm_disk_create failed");
 			DMERR("sm_disk_create failed");
+			dm_tm_unlock(tm, sblock);
 			r = PTR_ERR(data_sm);
 			r = PTR_ERR(data_sm);
 			goto bad;
 			goto bad;
 		}
 		}