virgl: fix caps ioctl size check.
diff mbox

Message ID 20180213002630.6869-1-airlied@gmail.com
State New
Headers show

Commit Message

Dave Airlie Feb. 13, 2018, 12:26 a.m. UTC
From: Dave Airlie <airlied@redhat.com>

The size check seems backwards, if userspace gives us a size
larger it is probably asking for a newer version of the caps,
so we just fill in the caps version we have at the smaller
size, and it can work it out from there.

Userspace will probably still need a fallback as old
kernel are out there.

Cc: <stable@vger.kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

St├ęphane Marchesin Feb. 13, 2018, 12:28 a.m. UTC | #1
On Mon, Feb 12, 2018 at 4:26 PM, Dave Airlie <airlied@gmail.com> wrote:
> From: Dave Airlie <airlied@redhat.com>
>
> The size check seems backwards, if userspace gives us a size
> larger it is probably asking for a newer version of the caps,
> so we just fill in the caps version we have at the smaller
> size, and it can work it out from there.
>
> Userspace will probably still need a fallback as old
> kernel are out there.
>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Dave Airlie <airlied@redhat.com>

Reviewed-by: St├ęphane Marchesin <marcheu@chromium.org>

Thanks!

> ---
>  drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
> index 5720a0d4ac0a..5d5f79508100 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
> @@ -497,7 +497,7 @@ static int virtio_gpu_get_caps_ioctl(struct drm_device *dev,
>         }
>
>         size = vgdev->capsets[found_valid].max_size;
> -       if (args->size > size) {
> +       if (size > args->size) {
>                 spin_unlock(&vgdev->display_info_lock);
>                 return -EINVAL;
>         }
> --
> 2.14.3
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Patch
diff mbox

diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
index 5720a0d4ac0a..5d5f79508100 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
@@ -497,7 +497,7 @@  static int virtio_gpu_get_caps_ioctl(struct drm_device *dev,
 	}
 
 	size = vgdev->capsets[found_valid].max_size;
-	if (args->size > size) {
+	if (size > args->size) {
 		spin_unlock(&vgdev->display_info_lock);
 		return -EINVAL;
 	}