From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Date: Tue, 13 Nov 2012 20:57:24 +0000 Subject: Re: [patch] vmwgfx: return an -EFAULT if copy_to_user() fails Message-Id: <50A2B434.3090000@vmware.com> List-Id: References: <20121112110724.GA1678@elgon.mountain> In-Reply-To: <20121112110724.GA1678@elgon.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Dan Carpenter Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, Dave Airlie , Thomas Meyer On 11/12/2012 12:07 PM, Dan Carpenter wrote: > copy_to_user() returns the number of bytes remaining to be copied, but > we want to return a negative error code here. I fixed a couple of these > last year, but I missed this one. > > Signed-off-by: Dan Carpenter > --- > I think there were only three copy_to/from_user() functions in this > file and they're all fixed now. > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > index b07ca2e..7290811 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > @@ -110,6 +110,8 @@ int vmw_get_cap_3d_ioctl(struct drm_device *dev, void *data, > memcpy_fromio(bounce, &fifo_mem[SVGA_FIFO_3D_CAPS], size); > > ret = copy_to_user(buffer, bounce, size); > + if (ret) > + ret = -EFAULT; > vfree(bounce); > > if (unlikely(ret != 0)) Reviewed-by: Thomas Hellstrom From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: Re: [patch] vmwgfx: return an -EFAULT if copy_to_user() fails Date: Tue, 13 Nov 2012 21:57:24 +0100 Message-ID: <50A2B434.3090000@vmware.com> References: <20121112110724.GA1678@elgon.mountain> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: Received: from smtp-outbound-2.vmware.com (smtp-outbound-2.vmware.com [208.91.2.13]) by gabe.freedesktop.org (Postfix) with ESMTP id 32EAE9F5C3 for ; Tue, 13 Nov 2012 12:57:29 -0800 (PST) In-Reply-To: <20121112110724.GA1678@elgon.mountain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Dan Carpenter Cc: kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, Dave Airlie , Thomas Meyer List-Id: dri-devel@lists.freedesktop.org On 11/12/2012 12:07 PM, Dan Carpenter wrote: > copy_to_user() returns the number of bytes remaining to be copied, but > we want to return a negative error code here. I fixed a couple of these > last year, but I missed this one. > > Signed-off-by: Dan Carpenter > --- > I think there were only three copy_to/from_user() functions in this > file and they're all fixed now. > > diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > index b07ca2e..7290811 100644 > --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c > @@ -110,6 +110,8 @@ int vmw_get_cap_3d_ioctl(struct drm_device *dev, void *data, > memcpy_fromio(bounce, &fifo_mem[SVGA_FIFO_3D_CAPS], size); > > ret = copy_to_user(buffer, bounce, size); > + if (ret) > + ret = -EFAULT; > vfree(bounce); > > if (unlikely(ret != 0)) Reviewed-by: Thomas Hellstrom