Commit 4aef108a authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-6.6/dm-fixes-2' of...

Merge tag 'for-6.6/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mike Snitzer:

 - Fix memory leak when freeing dm zoned target device

 - Update dm-devel mailing list address in MAINTAINERS

* tag 'for-6.6/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  MAINTAINERS: update the dm-devel mailing list
  dm zoned: free dmz->ddev array in dmz_put_zoned_devices
parents b036cda9 3da5d2de
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -5984,8 +5984,8 @@ F: include/linux/devm-helpers.h
DEVICE-MAPPER  (LVM)
DEVICE-MAPPER  (LVM)
M:	Alasdair Kergon <agk@redhat.com>
M:	Alasdair Kergon <agk@redhat.com>
M:	Mike Snitzer <snitzer@kernel.org>
M:	Mike Snitzer <snitzer@kernel.org>
M:	dm-devel@redhat.com
M:	dm-devel@lists.linux.dev
L:	dm-devel@redhat.com
L:	dm-devel@lists.linux.dev
S:	Maintained
S:	Maintained
W:	http://sources.redhat.com/dm
W:	http://sources.redhat.com/dm
Q:	http://patchwork.kernel.org/project/dm-devel/list/
Q:	http://patchwork.kernel.org/project/dm-devel/list/
+7 −8
Original line number Original line Diff line number Diff line
@@ -748,17 +748,16 @@ static int dmz_get_zoned_device(struct dm_target *ti, char *path,
/*
/*
 * Cleanup zoned device information.
 * Cleanup zoned device information.
 */
 */
static void dmz_put_zoned_device(struct dm_target *ti)
static void dmz_put_zoned_devices(struct dm_target *ti)
{
{
	struct dmz_target *dmz = ti->private;
	struct dmz_target *dmz = ti->private;
	int i;
	int i;


	for (i = 0; i < dmz->nr_ddevs; i++) {
	for (i = 0; i < dmz->nr_ddevs; i++)
		if (dmz->ddev[i]) {
		if (dmz->ddev[i])
			dm_put_device(ti, dmz->ddev[i]);
			dm_put_device(ti, dmz->ddev[i]);
			dmz->ddev[i] = NULL;

		}
	kfree(dmz->ddev);
	}
}
}


static int dmz_fixup_devices(struct dm_target *ti)
static int dmz_fixup_devices(struct dm_target *ti)
@@ -948,7 +947,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv)
err_meta:
err_meta:
	dmz_dtr_metadata(dmz->metadata);
	dmz_dtr_metadata(dmz->metadata);
err_dev:
err_dev:
	dmz_put_zoned_device(ti);
	dmz_put_zoned_devices(ti);
err:
err:
	kfree(dmz->dev);
	kfree(dmz->dev);
	kfree(dmz);
	kfree(dmz);
@@ -978,7 +977,7 @@ static void dmz_dtr(struct dm_target *ti)


	bioset_exit(&dmz->bio_set);
	bioset_exit(&dmz->bio_set);


	dmz_put_zoned_device(ti);
	dmz_put_zoned_devices(ti);


	mutex_destroy(&dmz->chunk_lock);
	mutex_destroy(&dmz->chunk_lock);