Commit 81ca2dbe authored by Demi Marie Obenour's avatar Demi Marie Obenour Committed by Mike Snitzer
Browse files

dm ioctl: Refuse to create device named "." or ".."



Using either of these is going to greatly confuse userspace, as they are
not valid symlink names and so creating the usual /dev/mapper/NAME
symlink will not be possible.  As creating a device with either of these
names is almost certainly a userspace bug, just error out.

Signed-off-by: default avatarDemi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent a85f1a9d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -771,8 +771,10 @@ static int check_name(const char *name)
		return -EINVAL;
	}

	if (strcmp(name, DM_CONTROL_NODE) == 0) {
		DMERR("device name cannot be \"%s\"", DM_CONTROL_NODE);
	if (strcmp(name, DM_CONTROL_NODE) == 0 ||
	    strcmp(name, ".") == 0 ||
	    strcmp(name, "..") == 0) {
		DMERR("device name cannot be \"%s\", \".\", or \"..\"", DM_CONTROL_NODE);
		return -EINVAL;
	}