From: Johannes Berg Date: Fri, 25 Jun 2021 08:34:37 +0000 (+0200) Subject: um: virtio_uml: fix memory leak on init failures X-Git-Tag: v5.15~308^2~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ad28e0df7ee9dbcb793bb88dd81d4d22bb9a10e;p=platform%2Fkernel%2Flinux-starfive.git um: virtio_uml: fix memory leak on init failures If initialization fails, e.g. because the connection failed, we leak the 'vu_dev'. Fix that. Reported by smatch. Fixes: 5d38f324993f ("um: drivers: Add virtio vhost-user driver") Signed-off-by: Johannes Berg Acked-By: Anton Ivanov Signed-off-by: Richard Weinberger --- diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c index cb79fe3..d51e445 100644 --- a/arch/um/drivers/virtio_uml.c +++ b/arch/um/drivers/virtio_uml.c @@ -1140,7 +1140,7 @@ static int virtio_uml_probe(struct platform_device *pdev) rc = os_connect_socket(pdata->socket_path); } while (rc == -EINTR); if (rc < 0) - return rc; + goto error_free; vu_dev->sock = rc; spin_lock_init(&vu_dev->sock_lock); @@ -1161,6 +1161,8 @@ static int virtio_uml_probe(struct platform_device *pdev) error_init: os_close_file(vu_dev->sock); +error_free: + kfree(vu_dev); return rc; }