Re: [PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
On 2020/11/18 下午4:59, Michael S. Tsirkin wrote: On Wed, Nov 18, 2020 at 02:08:17PM +0800, Jason Wang wrote: On 2020/10/26 上午10:59, Jason Wang wrote: On 2020/10/23 下午11:34, Michael S. Tsirkin wrote: On Fri, Oct 23, 2020 at 03:08:53PM +0300, Dan Carpenter wrote: The copy_to/from_user() functions return the number of bytes which we weren't able to copy but the ioctl should return -EFAULT if they fail. Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") Signed-off-by: Dan Carpenter Acked-by: Michael S. Tsirkin Needed for stable I guess. Agree. Acked-by: Jason Wang Hi Michael. I don't see this in your tree, please consider to merge. Thanks I do see it there: commit 7922460e33c81f41e0d2421417228b32e6fdbe94 Author: Dan Carpenter Date: Fri Oct 23 15:08:53 2020 +0300 vhost_vdpa: Return -EFAULT if copy_from_user() fails the reason you can't find it is probably because I fixed up a typo in the subject. I see that. Thanks ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
On Wed, Nov 18, 2020 at 02:08:17PM +0800, Jason Wang wrote: > > On 2020/10/26 上午10:59, Jason Wang wrote: > > > > On 2020/10/23 下午11:34, Michael S. Tsirkin wrote: > > > On Fri, Oct 23, 2020 at 03:08:53PM +0300, Dan Carpenter wrote: > > > > The copy_to/from_user() functions return the number of bytes which we > > > > weren't able to copy but the ioctl should return -EFAULT if they fail. > > > > > > > > Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") > > > > Signed-off-by: Dan Carpenter > > > Acked-by: Michael S. Tsirkin > > > Needed for stable I guess. > > > > > > Agree. > > > > Acked-by: Jason Wang > > > Hi Michael. > > I don't see this in your tree, please consider to merge. > > Thanks > I do see it there: commit 7922460e33c81f41e0d2421417228b32e6fdbe94 Author: Dan Carpenter Date: Fri Oct 23 15:08:53 2020 +0300 vhost_vdpa: Return -EFAULT if copy_from_user() fails the reason you can't find it is probably because I fixed up a typo in the subject. -- MST ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
On 2020/10/26 上午10:59, Jason Wang wrote: On 2020/10/23 下午11:34, Michael S. Tsirkin wrote: On Fri, Oct 23, 2020 at 03:08:53PM +0300, Dan Carpenter wrote: The copy_to/from_user() functions return the number of bytes which we weren't able to copy but the ioctl should return -EFAULT if they fail. Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") Signed-off-by: Dan Carpenter Acked-by: Michael S. Tsirkin Needed for stable I guess. Agree. Acked-by: Jason Wang Hi Michael. I don't see this in your tree, please consider to merge. Thanks ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
On 2020/10/23 下午11:34, Michael S. Tsirkin wrote: On Fri, Oct 23, 2020 at 03:08:53PM +0300, Dan Carpenter wrote: The copy_to/from_user() functions return the number of bytes which we weren't able to copy but the ioctl should return -EFAULT if they fail. Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") Signed-off-by: Dan Carpenter Acked-by: Michael S. Tsirkin Needed for stable I guess. Agree. Acked-by: Jason Wang --- drivers/vhost/vdpa.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c index 62a9bb0efc55..c94a97b6bd6d 100644 --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -428,12 +428,11 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep, void __user *argp = (void __user *)arg; u64 __user *featurep = argp; u64 features; - long r; + long r = 0; if (cmd == VHOST_SET_BACKEND_FEATURES) { - r = copy_from_user(, featurep, sizeof(features)); - if (r) - return r; + if (copy_from_user(, featurep, sizeof(features))) + return -EFAULT; if (features & ~VHOST_VDPA_BACKEND_FEATURES) return -EOPNOTSUPP; vhost_set_backend_features(>vdev, features); @@ -476,7 +475,8 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep, break; case VHOST_GET_BACKEND_FEATURES: features = VHOST_VDPA_BACKEND_FEATURES; - r = copy_to_user(featurep, , sizeof(features)); + if (copy_to_user(featurep, , sizeof(features))) + r = -EFAULT; break; default: r = vhost_dev_ioctl(>vdev, cmd, argp); ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Re: [PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
On Fri, Oct 23, 2020 at 03:08:53PM +0300, Dan Carpenter wrote: > The copy_to/from_user() functions return the number of bytes which we > weren't able to copy but the ioctl should return -EFAULT if they fail. > > Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") > Signed-off-by: Dan Carpenter Acked-by: Michael S. Tsirkin Needed for stable I guess. > --- > drivers/vhost/vdpa.c | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c > index 62a9bb0efc55..c94a97b6bd6d 100644 > --- a/drivers/vhost/vdpa.c > +++ b/drivers/vhost/vdpa.c > @@ -428,12 +428,11 @@ static long vhost_vdpa_unlocked_ioctl(struct file > *filep, > void __user *argp = (void __user *)arg; > u64 __user *featurep = argp; > u64 features; > - long r; > + long r = 0; > > if (cmd == VHOST_SET_BACKEND_FEATURES) { > - r = copy_from_user(, featurep, sizeof(features)); > - if (r) > - return r; > + if (copy_from_user(, featurep, sizeof(features))) > + return -EFAULT; > if (features & ~VHOST_VDPA_BACKEND_FEATURES) > return -EOPNOTSUPP; > vhost_set_backend_features(>vdev, features); > @@ -476,7 +475,8 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep, > break; > case VHOST_GET_BACKEND_FEATURES: > features = VHOST_VDPA_BACKEND_FEATURES; > - r = copy_to_user(featurep, , sizeof(features)); > + if (copy_to_user(featurep, , sizeof(features))) > + r = -EFAULT; > break; > default: > r = vhost_dev_ioctl(>vdev, cmd, argp); ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
[PATCH net] vhost_vdpa: Return -EFUALT if copy_from_user() fails
The copy_to/from_user() functions return the number of bytes which we weren't able to copy but the ioctl should return -EFAULT if they fail. Fixes: a127c5bbb6a8 ("vhost-vdpa: fix backend feature ioctls") Signed-off-by: Dan Carpenter --- drivers/vhost/vdpa.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c index 62a9bb0efc55..c94a97b6bd6d 100644 --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -428,12 +428,11 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep, void __user *argp = (void __user *)arg; u64 __user *featurep = argp; u64 features; - long r; + long r = 0; if (cmd == VHOST_SET_BACKEND_FEATURES) { - r = copy_from_user(, featurep, sizeof(features)); - if (r) - return r; + if (copy_from_user(, featurep, sizeof(features))) + return -EFAULT; if (features & ~VHOST_VDPA_BACKEND_FEATURES) return -EOPNOTSUPP; vhost_set_backend_features(>vdev, features); @@ -476,7 +475,8 @@ static long vhost_vdpa_unlocked_ioctl(struct file *filep, break; case VHOST_GET_BACKEND_FEATURES: features = VHOST_VDPA_BACKEND_FEATURES; - r = copy_to_user(featurep, , sizeof(features)); + if (copy_to_user(featurep, , sizeof(features))) + r = -EFAULT; break; default: r = vhost_dev_ioctl(>vdev, cmd, argp); ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization