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

Commit c50abeb3 authored by Mike Anderson's avatar Mike Anderson Committed by Alasdair G Kergon
Browse files

dm ioctl: forbid messages to devices being deleted



Once we begin deleting a device, prevent any further messages being sent
to targets of its table (to avoid races).

Signed-off-by: default avatarMike Anderson <andmike@linux.vnet.ibm.com>
Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
parent 432a212c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1303,6 +1303,11 @@ static int target_message(struct dm_ioctl *param, size_t param_size)
	if (!table)
		goto out_argv;

	if (dm_deleting_md(md)) {
		r = -ENXIO;
		goto out_table;
	}

	ti = dm_table_find_target(table, tmsg->sector);
	if (!dm_target_is_valid(ti)) {
		DMWARN("Target message sector outside device.");
@@ -1314,6 +1319,7 @@ static int target_message(struct dm_ioctl *param, size_t param_size)
		r = -EINVAL;
	}

 out_table:
	dm_table_put(table);
 out_argv:
	kfree(argv);