74 lines
2.7 KiB
Diff
74 lines
2.7 KiB
Diff
|
|
From ffb0dcccbf5f6e662e7c0b6afa4fe7308d96cc06 Mon Sep 17 00:00:00 2001
|
||
|
|
From: dinglimin <dinglimin@cmss.chinamobile.com>
|
||
|
|
Date: Tue, 27 Feb 2024 17:06:01 +0800
|
||
|
|
Subject: [PATCH] virtio-gpu: Correct virgl_renderer_resource_get_info() error
|
||
|
|
check
|
||
|
|
MIME-Version: 1.0
|
||
|
|
Content-Type: text/plain; charset=UTF-8
|
||
|
|
Content-Transfer-Encoding: 8bit
|
||
|
|
|
||
|
|
cheery-pick from 574b64aa6754ba491f51024c5a823a674d48a658
|
||
|
|
|
||
|
|
virgl_renderer_resource_get_info() returns errno and not -1 on error.
|
||
|
|
Correct the return-value check.
|
||
|
|
|
||
|
|
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||
|
|
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
|
||
|
|
Message-Id: <20240129073921.446869-1-dmitry.osipenko@collabora.com>
|
||
|
|
Cc: qemu-stable@nongnu.org
|
||
|
|
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
|
Signed-off-by: dinglimin <dinglimin@cmss.chinamobile.com>
|
||
|
|
---
|
||
|
|
contrib/vhost-user-gpu/virgl.c | 6 +++---
|
||
|
|
hw/display/virtio-gpu-virgl.c | 2 +-
|
||
|
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/contrib/vhost-user-gpu/virgl.c b/contrib/vhost-user-gpu/virgl.c
|
||
|
|
index d1ccdf7d06..51da0e3667 100644
|
||
|
|
--- a/contrib/vhost-user-gpu/virgl.c
|
||
|
|
+++ b/contrib/vhost-user-gpu/virgl.c
|
||
|
|
@@ -327,7 +327,7 @@ virgl_get_resource_info_modifiers(uint32_t resource_id,
|
||
|
|
#ifdef VIRGL_RENDERER_RESOURCE_INFO_EXT_VERSION
|
||
|
|
struct virgl_renderer_resource_info_ext info_ext;
|
||
|
|
ret = virgl_renderer_resource_get_info_ext(resource_id, &info_ext);
|
||
|
|
- if (ret < 0) {
|
||
|
|
+ if (ret) {
|
||
|
|
return ret;
|
||
|
|
}
|
||
|
|
|
||
|
|
@@ -335,7 +335,7 @@ virgl_get_resource_info_modifiers(uint32_t resource_id,
|
||
|
|
*modifiers = info_ext.modifiers;
|
||
|
|
#else
|
||
|
|
ret = virgl_renderer_resource_get_info(resource_id, info);
|
||
|
|
- if (ret < 0) {
|
||
|
|
+ if (ret) {
|
||
|
|
return ret;
|
||
|
|
}
|
||
|
|
|
||
|
|
@@ -372,7 +372,7 @@ virgl_cmd_set_scanout(VuGpu *g,
|
||
|
|
uint64_t modifiers = 0;
|
||
|
|
ret = virgl_get_resource_info_modifiers(ss.resource_id, &info,
|
||
|
|
&modifiers);
|
||
|
|
- if (ret == -1) {
|
||
|
|
+ if (ret) {
|
||
|
|
g_critical("%s: illegal resource specified %d\n",
|
||
|
|
__func__, ss.resource_id);
|
||
|
|
cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
|
||
|
|
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
|
||
|
|
index 8bb7a2c21f..9f34d0e661 100644
|
||
|
|
--- a/hw/display/virtio-gpu-virgl.c
|
||
|
|
+++ b/hw/display/virtio-gpu-virgl.c
|
||
|
|
@@ -181,7 +181,7 @@ static void virgl_cmd_set_scanout(VirtIOGPU *g,
|
||
|
|
memset(&info, 0, sizeof(info));
|
||
|
|
ret = virgl_renderer_resource_get_info(ss.resource_id, &info);
|
||
|
|
#endif
|
||
|
|
- if (ret == -1) {
|
||
|
|
+ if (ret) {
|
||
|
|
qemu_log_mask(LOG_GUEST_ERROR,
|
||
|
|
"%s: illegal resource specified %d\n",
|
||
|
|
__func__, ss.resource_id);
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|