|
@@ -700,7 +700,7 @@ static int dev_rename(struct dm_ioctl *param, size_t param_size)
|
|
int r;
|
|
int r;
|
|
char *new_name = (char *) param + param->data_start;
|
|
char *new_name = (char *) param + param->data_start;
|
|
|
|
|
|
- if (new_name < (char *) (param + 1) ||
|
|
|
|
|
|
+ if (new_name < (char *) param->data ||
|
|
invalid_str(new_name, (void *) param + param_size)) {
|
|
invalid_str(new_name, (void *) param + param_size)) {
|
|
DMWARN("Invalid new logical volume name supplied.");
|
|
DMWARN("Invalid new logical volume name supplied.");
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
@@ -726,7 +726,7 @@ static int dev_set_geometry(struct dm_ioctl *param, size_t param_size)
|
|
if (!md)
|
|
if (!md)
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
|
|
|
|
- if (geostr < (char *) (param + 1) ||
|
|
|
|
|
|
+ if (geostr < (char *) param->data ||
|
|
invalid_str(geostr, (void *) param + param_size)) {
|
|
invalid_str(geostr, (void *) param + param_size)) {
|
|
DMWARN("Invalid geometry supplied.");
|
|
DMWARN("Invalid geometry supplied.");
|
|
goto out;
|
|
goto out;
|
|
@@ -1233,7 +1233,7 @@ static int target_message(struct dm_ioctl *param, size_t param_size)
|
|
if (r)
|
|
if (r)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
- if (tmsg < (struct dm_target_msg *) (param + 1) ||
|
|
|
|
|
|
+ if (tmsg < (struct dm_target_msg *) param->data ||
|
|
invalid_str(tmsg->message, (void *) param + param_size)) {
|
|
invalid_str(tmsg->message, (void *) param + param_size)) {
|
|
DMWARN("Invalid target message parameters.");
|
|
DMWARN("Invalid target message parameters.");
|
|
r = -EINVAL;
|
|
r = -EINVAL;
|