diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c
index f21bc46cd1d22b651b3caf067edab7737d11355d..81a79b739e9738457190152e9d6f4ccafbe1dbe5 100644
--- a/drivers/md/dm-ioctl.c
+++ b/drivers/md/dm-ioctl.c
@@ -1767,7 +1767,7 @@ static int ctl_ioctl(uint command, struct dm_ioctl __user *user)
 	if (r)
 		goto out;
 
-	param->data_size = offsetof(struct dm_ioctl, data);
+	param->data_size = sizeof(*param);
 	r = fn(param, input_param_size);
 
 	if (unlikely(param->flags & DM_BUFFER_FULL_FLAG) &&