[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 4/9] vhost-user-gpu: fix cursor move/update
From: |
Gerd Hoffmann |
Subject: |
[PULL 4/9] vhost-user-gpu: fix cursor move/update |
Date: |
Fri, 26 Mar 2021 13:49:27 +0100 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
"move" is incorrectly initialized.
Fix it by using a switch statement and also treating unknown commands
with a fallback.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210312100108.2706195-5-marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
contrib/vhost-user-gpu/vhost-user-gpu.c | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/contrib/vhost-user-gpu/vhost-user-gpu.c
b/contrib/vhost-user-gpu/vhost-user-gpu.c
index ef40fbccbbd9..f73f292c9f72 100644
--- a/contrib/vhost-user-gpu/vhost-user-gpu.c
+++ b/contrib/vhost-user-gpu/vhost-user-gpu.c
@@ -892,11 +892,8 @@ update_cursor_data_simple(VuGpu *g, uint32_t resource_id,
gpointer data)
static void
vg_process_cursor_cmd(VuGpu *g, struct virtio_gpu_update_cursor *cursor)
{
- bool move = cursor->hdr.type != VIRTIO_GPU_CMD_MOVE_CURSOR;
-
- g_debug("%s move:%d\n", G_STRFUNC, move);
-
- if (move) {
+ switch (cursor->hdr.type) {
+ case VIRTIO_GPU_CMD_MOVE_CURSOR: {
VhostUserGpuMsg msg = {
.request = cursor->resource_id ?
VHOST_USER_GPU_CURSOR_POS : VHOST_USER_GPU_CURSOR_POS_HIDE,
@@ -907,8 +904,11 @@ vg_process_cursor_cmd(VuGpu *g, struct
virtio_gpu_update_cursor *cursor)
.y = cursor->pos.y,
}
};
+ g_debug("%s: move", G_STRFUNC);
vg_send_msg(g, &msg, -1);
- } else {
+ break;
+ }
+ case VIRTIO_GPU_CMD_UPDATE_CURSOR: {
VhostUserGpuMsg msg = {
.request = VHOST_USER_GPU_CURSOR_UPDATE,
.size = sizeof(VhostUserGpuCursorUpdate),
@@ -922,6 +922,7 @@ vg_process_cursor_cmd(VuGpu *g, struct
virtio_gpu_update_cursor *cursor)
.hot_y = cursor->hot_y,
}
};
+ g_debug("%s: update", G_STRFUNC);
if (g->virgl) {
vg_virgl_update_cursor_data(g, cursor->resource_id,
msg.payload.cursor_update.data);
@@ -930,6 +931,11 @@ vg_process_cursor_cmd(VuGpu *g, struct
virtio_gpu_update_cursor *cursor)
msg.payload.cursor_update.data);
}
vg_send_msg(g, &msg, -1);
+ break;
+ }
+ default:
+ g_debug("%s: unknown cmd %d", G_STRFUNC, cursor->hdr.type);
+ break;
}
}
--
2.30.2
- [PULL 0/9] Fixes 20210326 patches, Gerd Hoffmann, 2021/03/26
- [PULL 1/9] usb: Remove "-usbdevice ccid", Gerd Hoffmann, 2021/03/26
- [PULL 3/9] vhost-user-gpu: fix vugbm_device_init fallback, Gerd Hoffmann, 2021/03/26
- [PULL 2/9] vhost-user-gpu: glFlush before notifying clients, Gerd Hoffmann, 2021/03/26
- [PULL 5/9] hw/usb/hcd-ehci-sysbus: Free USBPacket on instance finalize(), Gerd Hoffmann, 2021/03/26
- [PULL 6/9] s390x: move S390_ADAPTER_SUPPRESSIBLE, Gerd Hoffmann, 2021/03/26
- [PULL 4/9] vhost-user-gpu: fix cursor move/update,
Gerd Hoffmann <=
- [PULL 7/9] s390x: add have_virtio_ccw, Gerd Hoffmann, 2021/03/26
- [PULL 9/9] hw/usb/hcd-ehci: Fix crash when showing help of EHCI devices, Gerd Hoffmann, 2021/03/26
- [PULL 8/9] s390x: modularize virtio-gpu-ccw, Gerd Hoffmann, 2021/03/26
- Re: [PULL 0/9] Fixes 20210326 patches, Peter Maydell, 2021/03/26