2017-11-27 14:25:07

by Tomeu Vizoso

[permalink] [raw]
Subject: [PATCH] drm/virtio: Don't return invalid caps on timeout

If the wait timeouts, the caps are probably invalid and we shouldn't be
passing them to userspace.

Signed-off-by: Tomeu Vizoso <[email protected]>
---
drivers/gpu/drm/virtio/virtgpu_ioctl.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
index b94bd5440e57..902120ad4a6d 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
@@ -517,6 +517,8 @@ static int virtio_gpu_get_caps_ioctl(struct drm_device *dev,

ret = wait_event_timeout(vgdev->resp_wq,
atomic_read(&cache_ent->is_valid), 5 * HZ);
+ if (!ret)
+ return -EBUSY;

ptr = cache_ent->caps_cache;

--
2.14.3


From 1584796447755066550@xxx Wed Nov 22 19:41:08 +0000 2017
X-GM-THRID: 1584796447755066550
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread