From: Alasdair Kergon Date: Thu, 29 Aug 2013 15:37:45 +0000 (+0100) Subject: dm ioctl: prevent rename to empty name or uuid X-Git-Tag: firefly_0821_release~176^2~5358^2~5 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c2b04824620f30b52bb2fdcdd14c758b8c62c70f;p=firefly-linux-kernel-4.4.55.git dm ioctl: prevent rename to empty name or uuid A device-mapper device must always have a name consisting of a non-empty string. If the device also has a uuid, this similarly must not be an empty string. The DM_DEV_CREATE ioctl enforces these rules when the device is created, but this patch is needed to enforce them when DM_DEV_RENAME is used to change the name or uuid. Reported-by: Zdenek Kabelac Signed-off-by: Alasdair G Kergon Signed-off-by: Mike Snitzer Acked-by: Mikulas Patocka --- diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index f1b758675ec7..5667cea55e71 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -877,7 +877,7 @@ static int dev_rename(struct dm_ioctl *param, size_t param_size) unsigned change_uuid = (param->flags & DM_UUID_FLAG) ? 1 : 0; if (new_data < param->data || - invalid_str(new_data, (void *) param + param_size) || + invalid_str(new_data, (void *) param + param_size) || !*new_data || strlen(new_data) > (change_uuid ? DM_UUID_LEN - 1 : DM_NAME_LEN - 1)) { DMWARN("Invalid new mapped device name or uuid string supplied."); return -EINVAL;