dm ioctl: Refuse to create device named "control"

Typical userspace setups create a symlink under /dev/mapper with the
name of the device, but /dev/mapper/control is reserved for DM's control
device.  Therefore, trying to create such a device is almost certain to
be a userspace bug.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
This commit is contained in:
Demi Marie Obenour 2023-06-03 10:52:43 -04:00 committed by Mike Snitzer
parent 249bed821b
commit a85f1a9de9
1 changed files with 6 additions and 1 deletions

View File

@ -767,7 +767,12 @@ static int get_target_version(struct file *filp, struct dm_ioctl *param, size_t
static int check_name(const char *name)
{
if (strchr(name, '/')) {
DMERR("invalid device name");
DMERR("device name cannot contain '/'");
return -EINVAL;
}
if (strcmp(name, DM_CONTROL_NODE) == 0) {
DMERR("device name cannot be \"%s\"", DM_CONTROL_NODE);
return -EINVAL;
}