mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 06:35:24 +00:00
Fix valgrind crash in LXC & avoid probing unneccessarily
This commit is contained in:
parent
d8637214a4
commit
05436ab7ff
@ -1,3 +1,8 @@
|
|||||||
|
Fri Jan 30 16:51:22 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
* src/lxc_driver.c: Avoid probing for LXC until we know we're
|
||||||
|
going to try opening the connection. Disable when using valgrind
|
||||||
|
|
||||||
Fri Jan 30 16:48:22 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
|
Fri Jan 30 16:48:22 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
* src/storage_conf.c: Fix leak of volume objects when free'ing
|
* src/storage_conf.c: Fix leak of volume objects when free'ing
|
||||||
|
@ -80,14 +80,14 @@ static virDrvOpenStatus lxcOpen(virConnectPtr conn,
|
|||||||
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
|
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
|
||||||
int flags ATTRIBUTE_UNUSED)
|
int flags ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (!lxcProbe())
|
|
||||||
goto declineConnection;
|
|
||||||
|
|
||||||
if (lxc_driver == NULL)
|
if (lxc_driver == NULL)
|
||||||
goto declineConnection;
|
goto declineConnection;
|
||||||
|
|
||||||
/* Verify uri was specified */
|
/* Verify uri was specified */
|
||||||
if (conn->uri == NULL) {
|
if (conn->uri == NULL) {
|
||||||
|
if (!lxcProbe())
|
||||||
|
goto declineConnection;
|
||||||
|
|
||||||
conn->uri = xmlParseURI("lxc:///");
|
conn->uri = xmlParseURI("lxc:///");
|
||||||
if (!conn->uri) {
|
if (!conn->uri) {
|
||||||
virReportOOMError(conn);
|
virReportOOMError(conn);
|
||||||
@ -96,8 +96,11 @@ static virDrvOpenStatus lxcOpen(virConnectPtr conn,
|
|||||||
} else if (conn->uri->scheme == NULL ||
|
} else if (conn->uri->scheme == NULL ||
|
||||||
STRNEQ(conn->uri->scheme, "lxc")) {
|
STRNEQ(conn->uri->scheme, "lxc")) {
|
||||||
goto declineConnection;
|
goto declineConnection;
|
||||||
|
} else if (!lxcProbe()) {
|
||||||
|
goto declineConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
conn->privateData = lxc_driver;
|
conn->privateData = lxc_driver;
|
||||||
|
|
||||||
return VIR_DRV_OPEN_SUCCESS;
|
return VIR_DRV_OPEN_SUCCESS;
|
||||||
@ -1119,6 +1122,15 @@ static int lxcStartup(void)
|
|||||||
{
|
{
|
||||||
uid_t uid = getuid();
|
uid_t uid = getuid();
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
char *ld;
|
||||||
|
|
||||||
|
/* Valgrind gets very annoyed when we clone containers, so
|
||||||
|
* disable LXC when under valgrind
|
||||||
|
* XXX remove this when valgrind is fixed
|
||||||
|
*/
|
||||||
|
ld = getenv("LD_PRELOAD");
|
||||||
|
if (ld && strstr(ld, "vgpreload"))
|
||||||
|
return -1;
|
||||||
|
|
||||||
/* Check that the user is root */
|
/* Check that the user is root */
|
||||||
if (0 != uid) {
|
if (0 != uid) {
|
||||||
|
Loading…
Reference in New Issue
Block a user