Commit 7ad28e0d authored by Johannes Berg's avatar Johannes Berg Committed by Richard Weinberger

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: 5d38f324 ("um: drivers: Add virtio vhost-user driver")
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 21976f2b
...@@ -1140,7 +1140,7 @@ static int virtio_uml_probe(struct platform_device *pdev) ...@@ -1140,7 +1140,7 @@ static int virtio_uml_probe(struct platform_device *pdev)
rc = os_connect_socket(pdata->socket_path); rc = os_connect_socket(pdata->socket_path);
} while (rc == -EINTR); } while (rc == -EINTR);
if (rc < 0) if (rc < 0)
return rc; goto error_free;
vu_dev->sock = rc; vu_dev->sock = rc;
spin_lock_init(&vu_dev->sock_lock); spin_lock_init(&vu_dev->sock_lock);
...@@ -1161,6 +1161,8 @@ static int virtio_uml_probe(struct platform_device *pdev) ...@@ -1161,6 +1161,8 @@ static int virtio_uml_probe(struct platform_device *pdev)
error_init: error_init:
os_close_file(vu_dev->sock); os_close_file(vu_dev->sock);
error_free:
kfree(vu_dev);
return rc; return rc;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment