Hi, On 6/9/26 21:08, Markus Elfring wrote: > From: Markus Elfring <[email protected]> > Date: Tue, 9 Jun 2026 20:00:07 +0200 > > Use additional labels so that a bit of exception handling can be better > reused at the end of two function implementations. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring <[email protected]> > --- > drivers/gpu/drm/virtio/virtgpu_vq.c | 7 +++---- > drivers/gpu/drm/virtio/virtgpu_vram.c | 16 ++++++++-------- > 2 files changed, 11 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/virtio/virtgpu_vq.c > b/drivers/gpu/drm/virtio/virtgpu_vq.c > index 67865810a2e7..05b19c73103a 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_vq.c > +++ b/drivers/gpu/drm/virtio/virtgpu_vq.c > @@ -318,15 +318,14 @@ static struct sg_table *vmalloc_to_sgt(char *data, > uint32_t size, int *sg_ents) > > *sg_ents = DIV_ROUND_UP(size, PAGE_SIZE); > ret = sg_alloc_table(sgt, *sg_ents, GFP_KERNEL); > - if (ret) { > - kfree(sgt); > - return NULL; > - } > + if (ret) > + goto free_sgt; > > for_each_sgtable_sg(sgt, sg, i) { > pg = vmalloc_to_page(data); > if (!pg) { > sg_free_table(sgt); > +free_sgt: > kfree(sgt); > return NULL; > } > diff --git a/drivers/gpu/drm/virtio/virtgpu_vram.c > b/drivers/gpu/drm/virtio/virtgpu_vram.c > index 4ae3cbc35dd3..ec5b669fccfa 100644 > --- a/drivers/gpu/drm/virtio/virtgpu_vram.c > +++ b/drivers/gpu/drm/virtio/virtgpu_vram.c > @@ -212,16 +212,12 @@ int virtio_gpu_vram_create(struct virtio_gpu_device > *vgdev, > > /* Create fake offset */ > ret = drm_gem_create_mmap_offset(obj); > - if (ret) { > - kfree(vram); > - return ret; > - } > + if (ret) > + goto free_vram; > > ret = virtio_gpu_resource_id_get(vgdev, &vram->base.hw_res_handle); > - if (ret) { > - kfree(vram); > - return ret; > - } > + if (ret) > + goto free_vram; > > virtio_gpu_cmd_resource_create_blob(vgdev, &vram->base, params, NULL, > 0); > @@ -237,6 +233,10 @@ int virtio_gpu_vram_create(struct virtio_gpu_device > *vgdev, > > *bo_ptr = &vram->base; > return 0; > + > +free_vram: > + kfree(vram); > + return ret; > } > > void virtio_gpu_vram_map_deferred(struct virtio_gpu_object_vram *vram)
Please see [1], will be great if you could address the reported issues with this patch in v2 and add another patch fixing the virtio_gpu_resource_id_get() error handling. [1] https://sashiko.dev/#/patchset/b7440806-e9e8-4027-afe1-f6fe9297d8b2%40web.de -- Best regards, Dmitry

