Message ID | 1605057288-60400-1-git-send-email-tiantao6@hisilicon.com |
---|---|
State | Superseded |
Headers | show |
Series | vhost_vdpa: switch to vmemdup_user() | expand |
On Wed, Nov 11, 2020 at 09:14:48AM +0800, Tian Tao wrote: >Replace opencoded alloc and copy with vmemdup_user() > >Signed-off-by: Tian Tao <tiantao6@hisilicon.com> >--- > drivers/vhost/vdpa.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> > >diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c >index 2754f30..4c39583 100644 >--- a/drivers/vhost/vdpa.c >+++ b/drivers/vhost/vdpa.c >@@ -245,14 +245,10 @@ static long vhost_vdpa_set_config(struct vhost_vdpa *v, > return -EFAULT; > if (vhost_vdpa_config_validate(v, &config)) > return -EINVAL; >- buf = kvzalloc(config.len, GFP_KERNEL); >- if (!buf) >- return -ENOMEM; > >- if (copy_from_user(buf, c->buf, config.len)) { >- kvfree(buf); >- return -EFAULT; >- } >+ buf = vmemdup_user(c->buf, config.len); >+ if (IS_ERR(buf)) >+ return PTR_ERR(buf); > > ops->set_config(vdpa, config.off, buf, config.len); > >-- >2.7.4 >
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c index 2754f30..4c39583 100644 --- a/drivers/vhost/vdpa.c +++ b/drivers/vhost/vdpa.c @@ -245,14 +245,10 @@ static long vhost_vdpa_set_config(struct vhost_vdpa *v, return -EFAULT; if (vhost_vdpa_config_validate(v, &config)) return -EINVAL; - buf = kvzalloc(config.len, GFP_KERNEL); - if (!buf) - return -ENOMEM; - if (copy_from_user(buf, c->buf, config.len)) { - kvfree(buf); - return -EFAULT; - } + buf = vmemdup_user(c->buf, config.len); + if (IS_ERR(buf)) + return PTR_ERR(buf); ops->set_config(vdpa, config.off, buf, config.len);
Replace opencoded alloc and copy with vmemdup_user() Signed-off-by: Tian Tao <tiantao6@hisilicon.com> --- drivers/vhost/vdpa.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)