Hi Alasdair, On Thu, Sep 20, 2007 at 04:32:10PM +0100, Alasdair G Kergon wrote: > Does this (untested) also work for you? > > + if (new_name < (char *) (align_ptr(param + 1) - 4) || > Yes this seems to work, I used: Signed-off-by: Guido Guenther <agx@xxxxxxxxxxx> --- aa-amd64-smp/drivers/md/dm-ioctl.c 2007-09-17 14:51:10.000000000 +0000 +++ linux-2.6.22/drivers/md/dm-ioctl.c 2007-07-08 23:32:17.000000000 +0000 @@ -700,7 +700,7 @@ int r; char *new_name = (char *) param + param->data_start; - if (new_name < (char *) (param + 1) || + if (new_name < (char *) (align_ptr(param + 1) - 4) || invalid_str(new_name, (void *) param + param_size)) { DMWARN("Invalid new logical volume name supplied."); return -EINVAL; @@ -726,7 +726,7 @@ if (!md) return -ENXIO; - if (geostr < (char *) (param + 1) || + if (geostr < (char *) (align_ptr(param + 1) - 4) || invalid_str(geostr, (void *) param + param_size)) { DMWARN("Invalid geometry supplied."); goto out; @@ -1233,7 +1233,7 @@ if (r) goto out; - if (tmsg < (struct dm_target_msg *) (param + 1) || + if (tmsg < (struct dm_target_msg *) (align_ptr(param + 1) - 4) || invalid_str(tmsg->message, (void *) param + param_size)) { DMWARN("Invalid target message parameters."); r = -EINVAL; -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel