Hi

On Mon, Dec 22, 2025 at 7:15 PM Joelle van Dyne <[email protected]> wrote:
>
> When `owner` == `mr`, `object_unparent` will crash:
>
> object_unparent(mr) ->
> object_property_del_child(mr, mr) ->
> object_finalize_child_property(mr, name, mr) ->
> object_unref(mr) ->
> object_finalize(mr) ->
> object_property_del_all(mr) ->
> object_finalize_child_property(mr, name, mr) ->
> object_unref(mr) ->
> fail on g_assert(obj->ref > 0)
>
> Signed-off-by: Joelle van Dyne <[email protected]>

Fixes: commit 7c092f17 ("virtio-gpu: Handle resource blob commands")

I'd suggest an assert for this case in memory_region_do_init(), as
that seems undesired.

Reviewed-by: Marc-André Lureau <[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 18404be5892..4109ff7932a 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -123,7 +123,7 @@ virtio_gpu_virgl_map_resource_blob(VirtIOGPU *g,
>      vmr->g = g;
>
>      mr = &vmr->mr;
> -    memory_region_init_ram_ptr(mr, OBJECT(mr), "blob", size, data);
> +    memory_region_init_ram_ptr(mr, OBJECT(g), "blob", size, data);
>      memory_region_add_subregion(&b->hostmem, offset, mr);
>      memory_region_set_enabled(mr, true);
>
> --
> 2.50.1 (Apple Git-155)
>
>


-- 
Marc-André Lureau

Reply via email to