On 2026-10-27T18:52:31, Yuho Choi <[email protected]> wrote:
> virtio: free device name when the driver is not configured
>
> virtio_uclass_post_probe() duplicates the name for the child device with
> strdup() and passes it to device_bind_driver(). If the driver for the
> reported device type is not built, device_bind_driver() returns -ENOENT
> and the function returns 0 without freeing the name. Ownership of the
> name only passes to the device through device_set_name_alloced() after
> a successful bind.
>
> This happens on each probe of a virtio transport whose device type is
> listed in virtio_drv_name[] but whose driver is disabled, e.g. a
> virtio-9p device on a QEMU target without CONFIG_VIRTIO_9P, or the
> virtio-blk node of the sandbox test device tree, as sandbox_defconfig
> does not enable CONFIG_VIRTIO_BLK.
>
> Free the name on this path as well.
>
> Fixes: 8fb49b4c7a82 ("dm: Add a new uclass driver for VirtIO transport 
> devices")
> Signed-off-by: Yuho Choi <[email protected]>
>
>  drivers/virtio/virtio-uclass.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Simon Glass <[email protected]>

Reply via email to