On 11/24/25 06:24, Honglei Huang wrote:
> Fix inverted error check in virgl_cmd_resource_create_blob() that causes
> the function to return error when virtio_gpu_create_mapping_iov() succeeds.
>
> virtio_gpu_create_mapping_iov() returns 0 on success and negative values
> on error. The check 'if (!ret)' incorrectly treats success (ret=0) as an
> error condition, causing the function to fail when it should succeed.
>
> Change the condition to 'if (ret != 0)' to properly detect errors.
>
> Fixes: 7c092f17ccee ("virtio-gpu: Handle resource blob commands")
> Signed-off-by: Honglei Huang <[email protected]>
> Reviewed-by: Akihiko Odaki <[email protected]>
> ---
> hw/display/virtio-gpu-virgl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 94ddc01f91..e60e1059df 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -701,7 +701,7 @@ static void virgl_cmd_resource_create_blob(VirtIOGPU *g,
> ret = virtio_gpu_create_mapping_iov(g, cblob.nr_entries,
> sizeof(cblob),
> cmd, &res->base.addrs,
> &res->base.iov,
> &res->base.iov_cnt);
> - if (!ret) {
> + if (ret != 0) {
> cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
> return;
> }
Reviewed-by: Dmitry Osipenko <[email protected]>
--
Best regards,
Dmitry