um: virtio_uml: fix memory leak on init failures
commit 7ad28e0df7ee9dbcb793bb88dd81d4d22bb9a10e upstream.
If initialization fails, e.g. because the connection failed,
we leak the 'vu_dev'. Fix that. Reported by smatch.
Fixes: 5d38f32499
("um: drivers: Add virtio vhost-user driver")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5d0e6a5e44
commit
9d49973b08
|
@ -1113,7 +1113,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);
|
||||||
|
@ -1132,6 +1132,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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user