Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 371b2e34 authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Alasdair G Kergon
Browse files

dm mpath: free path selector on invalid args



Free path selector if the arguments are invalid.

This command (note that it is invalid) causes reference leak on module
"dm_round_robin" and prevents the module from being removed.

dmsetup create --table '0 2 multipath 0 0 1 1 round-robin /dev/sdh' mpath0

Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 5b664cb2
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -525,8 +525,10 @@ static int parse_path_selector(struct arg_set *as, struct priority_group *pg,
	}
	}


	r = read_param(_params, shift(as), &ps_argc, &ti->error);
	r = read_param(_params, shift(as), &ps_argc, &ti->error);
	if (r)
	if (r) {
		dm_put_path_selector(pst);
		return -EINVAL;
		return -EINVAL;
	}


	r = pst->create(&pg->ps, ps_argc, as->argv);
	r = pst->create(&pg->ps, ps_argc, as->argv);
	if (r) {
	if (r) {