Skip to content
Snippets Groups Projects
Commit fe3ccca6 authored by Guido Günther's avatar Guido Günther
Browse files

Drop patches fixed upstream

    Fix-cgroups-when-all-are-mounted-on-sys-fs-cgroup.patch
    Fix-launching-of-VMs-on-when-only-logind-part-of-sys.patch
    Fix-make-check-not-finding-finding-the-libvirtd-lens.patch
    Parse-AM_LDFLAGS-to-driver-modules-too.patch
    virFileNBDDeviceAssociate-Avoid-use-of-uninitialized.patch
parent d36af3d5
No related branches found
No related tags found
No related merge requests found
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 10 Sep 2013 14:31:53 +0100
Subject: Fix cgroups when all are mounted on /sys/fs/cgroup
Some users in Ubuntu/Debian seem to have a setup where all the
cgroup controllers are mounted on /sys/fs/cgroup rather than
any /sys/fs/cgroup/<controller> name. In the loop which detects
which controllers are present for a mount point we were modifying
'mnt_dir' field in the 'struct mntent' var, but not always restoring
the original value. This caused detection to break in the all-in-one
mount setup.
Fix that logic bug and add test case coverage for this mount
setup.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
src/util/vircgroup.c | 3 ++-
tests/vircgroupmock.c | 45 ++++++++++++++++++++++++++++++++++++++---
tests/vircgrouptest.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 99 insertions(+), 4 deletions(-)
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index 16458a3..a260356 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -342,10 +342,11 @@ virCgroupDetectMounts(virCgroupPtr group)
entry.mnt_dir);
goto error;
}
- *tmp2 = '\0';
+
/* If it is a co-mount it has a filename like "cpu,cpuacct"
* and we must identify the symlink path */
if (strchr(tmp2 + 1, ',')) {
+ *tmp2 = '\0';
if (virAsprintf(&linksrc, "%s/%s",
entry.mnt_dir, typestr) < 0)
goto error;
diff --git a/tests/vircgroupmock.c b/tests/vircgroupmock.c
index f1a5700..d83496c 100644
--- a/tests/vircgroupmock.c
+++ b/tests/vircgroupmock.c
@@ -103,6 +103,27 @@ const char *proccgroups =
"blkio 8 4 1\n";
+const char *procmountsallinone =
+ "rootfs / rootfs rw 0 0\n"
+ "sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0\n"
+ "proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0\n"
+ "udev /dev devtmpfs rw,relatime,size=16458560k,nr_inodes=4114640,mode=755 0 0\n"
+ "devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0\n"
+ "nfsd /proc/fs/nfsd nfsd rw,relatime 0 0\n"
+ "cgroup /not/really/sys/fs/cgroup cgroup rw,relatime,blkio,devices,memory,cpuacct,cpu,cpuset 0 0\n";
+
+const char *procselfcgroupsallinone =
+ "6:blkio,devices,memory,cpuacct,cpu,cpuset:/";
+
+const char *proccgroupsallinone =
+ "#subsys_name hierarchy num_cgroups enabled\n"
+ "cpuset 6 1 1\n"
+ "cpu 6 1 1\n"
+ "cpuacct 6 1 1\n"
+ "memory 6 1 1\n"
+ "devices 6 1 1\n"
+ "blkio 6 1 1\n";
+
static int make_file(const char *path,
const char *name,
const char *value)
@@ -378,11 +399,21 @@ static void init_sysfs(void)
FILE *fopen(const char *path, const char *mode)
{
+ const char *mock;
+ bool allinone = false;
init_syms();
+ mock = getenv("VIR_CGROUP_MOCK_MODE");
+ if (mock && STREQ(mock, "allinone"))
+ allinone = true;
+
if (STREQ(path, "/proc/mounts")) {
if (STREQ(mode, "r")) {
- return fmemopen((void *)procmounts, strlen(procmounts), mode);
+ if (allinone)
+ return fmemopen((void *)procmountsallinone,
+ strlen(procmountsallinone), mode);
+ else
+ return fmemopen((void *)procmounts, strlen(procmounts), mode);
} else {
errno = EACCES;
return NULL;
@@ -390,7 +421,11 @@ FILE *fopen(const char *path, const char *mode)
}
if (STREQ(path, "/proc/cgroups")) {
if (STREQ(mode, "r")) {
- return fmemopen((void *)proccgroups, strlen(proccgroups), mode);
+ if (allinone)
+ return fmemopen((void *)proccgroupsallinone,
+ strlen(proccgroupsallinone), mode);
+ else
+ return fmemopen((void *)proccgroups, strlen(proccgroups), mode);
} else {
errno = EACCES;
return NULL;
@@ -398,7 +433,11 @@ FILE *fopen(const char *path, const char *mode)
}
if (STREQ(path, "/proc/self/cgroup")) {
if (STREQ(mode, "r")) {
- return fmemopen((void *)procselfcgroups, strlen(procselfcgroups), mode);
+ if (allinone)
+ return fmemopen((void *)procselfcgroupsallinone,
+ strlen(procselfcgroupsallinone), mode);
+ else
+ return fmemopen((void *)procselfcgroups, strlen(procselfcgroups), mode);
} else {
errno = EACCES;
return NULL;
diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c
index 4bdd4c9..f12587c 100644
--- a/tests/vircgrouptest.c
+++ b/tests/vircgrouptest.c
@@ -99,6 +99,16 @@ const char *mountsFull[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_BLKIO] = "/not/really/sys/fs/cgroup/blkio",
[VIR_CGROUP_CONTROLLER_SYSTEMD] = "/not/really/sys/fs/cgroup/systemd",
};
+const char *mountsAllInOne[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_CPUSET] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_MEMORY] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_DEVICES] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = "/not/really/sys/fs/cgroup",
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
+};
const char *links[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_CPU] = "/not/really/sys/fs/cgroup/cpu",
@@ -108,6 +118,18 @@ const char *links[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_DEVICES] = NULL,
[VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
[VIR_CGROUP_CONTROLLER_BLKIO] = NULL,
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
+};
+
+const char *linksAllInOne[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUSET] = NULL,
+ [VIR_CGROUP_CONTROLLER_MEMORY] = NULL,
+ [VIR_CGROUP_CONTROLLER_DEVICES] = NULL,
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = NULL,
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
};
@@ -417,6 +439,34 @@ cleanup:
return ret;
}
+static int testCgroupNewForSelfAllInOne(const void *args ATTRIBUTE_UNUSED)
+{
+ virCgroupPtr cgroup = NULL;
+ int ret = -1;
+ const char *placement[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = "/",
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = "/",
+ [VIR_CGROUP_CONTROLLER_CPUSET] = "/",
+ [VIR_CGROUP_CONTROLLER_MEMORY] = "/",
+ [VIR_CGROUP_CONTROLLER_DEVICES] = "/",
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = "/",
+ };
+
+ if (virCgroupNewSelf(&cgroup) < 0) {
+ fprintf(stderr, "Cannot create cgroup for self\n");
+ goto cleanup;
+ }
+
+ ret = validateCgroup(cgroup, "", mountsAllInOne, linksAllInOne, placement);
+
+cleanup:
+ virCgroupFree(&cgroup);
+ return ret;
+}
+
+
+
# define FAKESYSFSDIRTEMPLATE abs_builddir "/fakesysfsdir-XXXXXX"
static int
@@ -455,6 +505,11 @@ mymain(void)
if (virtTestRun("New cgroup for domain partition escaped", 1, testCgroupNewForPartitionDomainEscaped, NULL) < 0)
ret = -1;
+ setenv("VIR_CGROUP_MOCK_MODE", "allinone", 1);
+ if (virtTestRun("New cgroup for self (allinone)", 1, testCgroupNewForSelfAllInOne, NULL) < 0)
+ ret = -1;
+ unsetenv("VIR_CGROUP_MOCK_MODE");
+
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
virFileDeleteTree(fakesysfsdir);
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Wed, 11 Sep 2013 19:15:52 +0100
Subject: Fix launching of VMs on when only logind part of systemd is present
Debian systems may run the 'systemd-logind' daemon, which causes the
/sys/fs/cgroup/systemd mount to be setup, but no other cgroup
controllers are created. While the LXC driver considers cgroups to
be mandatory, the QEMU driver is supposed to accept them as optional.
We detect whether they are present by looking in /proc/mounts for
any mounts of type 'cgroups', but this is not sufficient. We need to
skip any named mounts (as seen by a name=XXX string in the mount
options), so that we only detect actual resource controllers.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721979
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
src/util/vircgroup.c | 5 +++-
tests/vircgroupmock.c | 40 ++++++++++++++++++++++++---
tests/vircgrouptest.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 116 insertions(+), 4 deletions(-)
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index a260356..626bbc6 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -91,7 +91,10 @@ virCgroupAvailable(void)
return false;
while (getmntent_r(mounts, &entry, buf, sizeof(buf)) != NULL) {
- if (STREQ(entry.mnt_type, "cgroup")) {
+ /* We're looking for at least one 'cgroup' fs mount,
+ * which is *not* a named mount. */
+ if (STREQ(entry.mnt_type, "cgroup") &&
+ !strstr(entry.mnt_opts, "name=")) {
ret = true;
break;
}
diff --git a/tests/vircgroupmock.c b/tests/vircgroupmock.c
index d83496c..adc1718 100644
--- a/tests/vircgroupmock.c
+++ b/tests/vircgroupmock.c
@@ -124,6 +124,27 @@ const char *proccgroupsallinone =
"devices 6 1 1\n"
"blkio 6 1 1\n";
+const char *procmountslogind =
+ "none /not/really/sys/fs/cgroup tmpfs rw,rootcontext=system_u:object_r:sysfs_t:s0,seclabel,relatime,size=4k,mode=755 0 0\n"
+ "systemd /not/really/sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd 0 0\n";
+
+const char *procselfcgroupslogind =
+ "1:name=systemd:/\n";
+
+const char *proccgroupslogind =
+ "#subsys_name hierarchy num_cgroups enabled\n"
+ "cpuset 0 1 1\n"
+ "cpu 0 1 1\n"
+ "cpuacct 0 1 1\n"
+ "memory 0 1 0\n"
+ "devices 0 1 1\n"
+ "freezer 0 1 1\n"
+ "net_cls 0 1 1\n"
+ "blkio 0 1 1\n"
+ "perf_event 0 1 1\n";
+
+
+
static int make_file(const char *path,
const char *name,
const char *value)
@@ -400,18 +421,25 @@ static void init_sysfs(void)
FILE *fopen(const char *path, const char *mode)
{
const char *mock;
- bool allinone = false;
+ bool allinone = false, logind = false;
init_syms();
mock = getenv("VIR_CGROUP_MOCK_MODE");
- if (mock && STREQ(mock, "allinone"))
- allinone = true;
+ if (mock) {
+ if (STREQ(mock, "allinone"))
+ allinone = true;
+ else if (STREQ(mock, "logind"))
+ logind = true;
+ }
if (STREQ(path, "/proc/mounts")) {
if (STREQ(mode, "r")) {
if (allinone)
return fmemopen((void *)procmountsallinone,
strlen(procmountsallinone), mode);
+ else if (logind)
+ return fmemopen((void *)procmountslogind,
+ strlen(procmountslogind), mode);
else
return fmemopen((void *)procmounts, strlen(procmounts), mode);
} else {
@@ -424,6 +452,9 @@ FILE *fopen(const char *path, const char *mode)
if (allinone)
return fmemopen((void *)proccgroupsallinone,
strlen(proccgroupsallinone), mode);
+ else if (logind)
+ return fmemopen((void *)proccgroupslogind,
+ strlen(proccgroupslogind), mode);
else
return fmemopen((void *)proccgroups, strlen(proccgroups), mode);
} else {
@@ -436,6 +467,9 @@ FILE *fopen(const char *path, const char *mode)
if (allinone)
return fmemopen((void *)procselfcgroupsallinone,
strlen(procselfcgroupsallinone), mode);
+ else if (logind)
+ return fmemopen((void *)procselfcgroupslogind,
+ strlen(procselfcgroupslogind), mode);
else
return fmemopen((void *)procselfcgroups, strlen(procselfcgroups), mode);
} else {
diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c
index f12587c..570e061 100644
--- a/tests/vircgrouptest.c
+++ b/tests/vircgrouptest.c
@@ -109,6 +109,16 @@ const char *mountsAllInOne[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_BLKIO] = "/not/really/sys/fs/cgroup",
[VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
};
+const char *mountsLogind[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUSET] = NULL,
+ [VIR_CGROUP_CONTROLLER_MEMORY] = NULL,
+ [VIR_CGROUP_CONTROLLER_DEVICES] = NULL,
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = NULL,
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = "/not/really/sys/fs/cgroup/systemd",
+};
const char *links[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_CPU] = "/not/really/sys/fs/cgroup/cpu",
@@ -132,6 +142,17 @@ const char *linksAllInOne[VIR_CGROUP_CONTROLLER_LAST] = {
[VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
};
+const char *linksLogind[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUSET] = NULL,
+ [VIR_CGROUP_CONTROLLER_MEMORY] = NULL,
+ [VIR_CGROUP_CONTROLLER_DEVICES] = NULL,
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = NULL,
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = NULL,
+};
+
static int testCgroupNewForSelf(const void *args ATTRIBUTE_UNUSED)
{
@@ -466,6 +487,48 @@ cleanup:
}
+static int testCgroupNewForSelfLogind(const void *args ATTRIBUTE_UNUSED)
+{
+ virCgroupPtr cgroup = NULL;
+ int ret = -1;
+ const char *placement[VIR_CGROUP_CONTROLLER_LAST] = {
+ [VIR_CGROUP_CONTROLLER_CPU] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUACCT] = NULL,
+ [VIR_CGROUP_CONTROLLER_CPUSET] = NULL,
+ [VIR_CGROUP_CONTROLLER_MEMORY] = NULL,
+ [VIR_CGROUP_CONTROLLER_DEVICES] = NULL,
+ [VIR_CGROUP_CONTROLLER_FREEZER] = NULL,
+ [VIR_CGROUP_CONTROLLER_BLKIO] = NULL,
+ [VIR_CGROUP_CONTROLLER_SYSTEMD] = "/",
+ };
+
+ if (virCgroupNewSelf(&cgroup) < 0) {
+ fprintf(stderr, "Cannot create cgroup for self\n");
+ goto cleanup;
+ }
+
+ ret = validateCgroup(cgroup, "", mountsLogind, linksLogind, placement);
+
+cleanup:
+ virCgroupFree(&cgroup);
+ return ret;
+}
+
+
+static int testCgroupAvailable(const void *args)
+{
+ bool got = virCgroupAvailable();
+ bool want = args == (void*)0x1;
+
+ if (got != want) {
+ fprintf(stderr, "Expected cgroup %savailable, but state was wrong\n",
+ want ? "" : "not ");
+ return -1;
+ }
+
+ return 0;
+}
+
# define FAKESYSFSDIRTEMPLATE abs_builddir "/fakesysfsdir-XXXXXX"
@@ -505,9 +568,21 @@ mymain(void)
if (virtTestRun("New cgroup for domain partition escaped", 1, testCgroupNewForPartitionDomainEscaped, NULL) < 0)
ret = -1;
+ if (virtTestRun("Cgroup available", 1, testCgroupAvailable, (void*)0x1) < 0)
+ ret = -1;
+
setenv("VIR_CGROUP_MOCK_MODE", "allinone", 1);
if (virtTestRun("New cgroup for self (allinone)", 1, testCgroupNewForSelfAllInOne, NULL) < 0)
ret = -1;
+ if (virtTestRun("Cgroup available", 1, testCgroupAvailable, (void*)0x1) < 0)
+ ret = -1;
+ unsetenv("VIR_CGROUP_MOCK_MODE");
+
+ setenv("VIR_CGROUP_MOCK_MODE", "logind", 1);
+ if (virtTestRun("New cgroup for self (logind)", 1, testCgroupNewForSelfLogind, NULL) < 0)
+ ret = -1;
+ if (virtTestRun("Cgroup available", 1, testCgroupAvailable, (void*)0x0) < 0)
+ ret = -1;
unsetenv("VIR_CGROUP_MOCK_MODE");
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Thu, 29 Aug 2013 19:54:05 +0200
Subject: Fix "make check" not finding finding the libvirtd lense
---
src/Makefile.am | 3 ++-
src/Makefile.in | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 755e07a..79328a9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1675,7 +1675,8 @@ check-augeas-lockd: test_libvirt_lockd.aug
check-augeas-virtlockd: test_virtlockd.aug
$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
- '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
+ '$(AUGPARSE)' -I $(top_srcdir)/daemon/ \
+ -I $(srcdir)/locking test_virtlockd.aug; \
fi
#
diff --git a/src/Makefile.in b/src/Makefile.in
index 99ab81f..a983a3e 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -8017,7 +8017,8 @@ check-augeas-lockd: test_libvirt_lockd.aug
check-augeas-virtlockd: test_virtlockd.aug
$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
- '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
+ '$(AUGPARSE)' -I $(top_srcdir)/daemon/ \
+ -I $(srcdir)/locking test_virtlockd.aug; \
fi
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Sun, 1 Sep 2013 08:48:57 +0200
Subject: Parse AM_LDFLAGS to driver modules too
so we get a RO got
---
src/Makefile.am | 16 ++++++++--------
src/Makefile.in | 16 ++++++++--------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 79328a9..f44ac86 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1000,7 +1000,7 @@ libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_xen_la_LDFLAGS = -module -avoid-version
+libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_xen.la
# Stateful, so linked to daemon instead
@@ -1050,7 +1050,7 @@ libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version
+libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
# GPLv2-only license requries that it be linked into
@@ -1083,7 +1083,7 @@ libvirt_driver_libxl_la_LIBADD = libvirt_driver_libxl_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
+libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
@@ -1108,7 +1108,7 @@ libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version
+libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_qemu.la
# Stateful, so linked to daemon instead
@@ -1184,7 +1184,7 @@ libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_uml_la_LDFLAGS = -module -avoid-version
+libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
@@ -1361,7 +1361,7 @@ libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
-libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
+libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else
noinst_LTLIBRARIES += libvirt_driver_storage.la
# Stateful, so linked to daemon instead
@@ -1455,7 +1455,7 @@ libvirt_driver_nwfilter_la_CFLAGS = \
-I$(top_srcdir)/src/access \
-I$(top_srcdir)/src/conf \
$(AM_CFLAGS)
-libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
+libvirt_driver_nwfilter_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS)
if WITH_DRIVER_MODULES
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
@@ -2113,7 +2113,7 @@ if WITH_SANLOCK
lockdriver_LTLIBRARIES += sanlock.la
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
-sanlock_la_LDFLAGS = -module -avoid-version
+sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
sanlock_la_LIBADD = -lsanlock_client \
../gnulib/lib/libgnu.la
diff --git a/src/Makefile.in b/src/Makefile.in
index a983a3e..0e503a5 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -4136,7 +4136,7 @@ GENERATED_SYM_FILES = \
@WITH_XEN_TRUE@libvirt_driver_xen_la_SOURCES =
@WITH_XEN_TRUE@libvirt_driver_xen_la_LIBADD = \
@WITH_XEN_TRUE@ libvirt_driver_xen_impl.la $(am__append_18)
-@WITH_DRIVER_MODULES_TRUE@@WITH_XEN_TRUE@libvirt_driver_xen_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_XEN_TRUE@libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
@WITH_XEN_TRUE@libvirt_driver_xen_impl_la_CFLAGS = \
@@ -4165,7 +4165,7 @@ GENERATED_SYM_FILES = \
@WITH_VBOX_TRUE@libvirt_driver_vbox_la_SOURCES =
@WITH_VBOX_TRUE@libvirt_driver_vbox_la_LIBADD = \
@WITH_VBOX_TRUE@ libvirt_driver_vbox_impl.la $(am__append_28)
-@WITH_DRIVER_MODULES_TRUE@@WITH_VBOX_TRUE@libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_VBOX_TRUE@libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
@@ -4185,7 +4185,7 @@ GENERATED_SYM_FILES = \
@WITH_LIBXL_TRUE@libvirt_driver_libxl_la_SOURCES =
@WITH_LIBXL_TRUE@libvirt_driver_libxl_la_LIBADD = \
@WITH_LIBXL_TRUE@ libvirt_driver_libxl_impl.la $(am__append_34)
-@WITH_DRIVER_MODULES_TRUE@@WITH_LIBXL_TRUE@libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_LIBXL_TRUE@libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
@WITH_LIBXL_TRUE@libvirt_driver_libxl_impl_la_CFLAGS = \
@@ -4202,7 +4202,7 @@ GENERATED_SYM_FILES = \
@WITH_QEMU_TRUE@libvirt_driver_qemu_la_LIBADD = \
@WITH_QEMU_TRUE@ libvirt_driver_qemu_impl.la $(am__append_38) \
@WITH_QEMU_TRUE@ $(am__append_142)
-@WITH_DRIVER_MODULES_TRUE@@WITH_QEMU_TRUE@libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_QEMU_TRUE@libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
@WITH_QEMU_TRUE@libvirt_driver_qemu_impl_la_CFLAGS = \
@@ -4237,7 +4237,7 @@ GENERATED_SYM_FILES = \
@WITH_UML_TRUE@libvirt_driver_uml_la_SOURCES =
@WITH_UML_TRUE@libvirt_driver_uml_la_LIBADD = \
@WITH_UML_TRUE@ libvirt_driver_uml_impl.la $(am__append_56)
-@WITH_DRIVER_MODULES_TRUE@@WITH_UML_TRUE@libvirt_driver_uml_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_UML_TRUE@libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
@WITH_UML_TRUE@libvirt_driver_uml_impl_la_CFLAGS = \
@@ -4321,7 +4321,7 @@ libvirt_driver_storage_impl_la_LIBADD = $(SECDRIVER_LIBS) \
@WITH_STORAGE_TRUE@libvirt_driver_storage_la_LIBADD = \
@WITH_STORAGE_TRUE@ libvirt_driver_storage_impl.la \
@WITH_STORAGE_TRUE@ $(am__append_82)
-@WITH_DRIVER_MODULES_TRUE@@WITH_STORAGE_TRUE@libvirt_driver_storage_la_LDFLAGS = -module -avoid-version
+@WITH_DRIVER_MODULES_TRUE@@WITH_STORAGE_TRUE@libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
@WITH_NODE_DEVICES_TRUE@libvirt_driver_nodedev_la_SOURCES = \
@@ -4347,7 +4347,7 @@ libvirt_driver_storage_impl_la_LIBADD = $(SECDRIVER_LIBS) \
@WITH_NWFILTER_TRUE@ $(AM_CFLAGS)
@WITH_NWFILTER_TRUE@libvirt_driver_nwfilter_la_LDFLAGS = \
-@WITH_NWFILTER_TRUE@ $(LD_AMFLAGS) $(am__append_108)
+@WITH_NWFILTER_TRUE@ $(AM_LDFLAGS) $(am__append_108)
@WITH_NWFILTER_TRUE@libvirt_driver_nwfilter_la_LIBADD = \
@WITH_NWFILTER_TRUE@ $(LIBPCAP_LIBS) $(LIBNL_LIBS) $(DBUS_LIBS) \
@WITH_NWFILTER_TRUE@ $(am__append_107)
@@ -4471,7 +4471,7 @@ man8_MANS = virtlockd.8
@LIBVIRT_INIT_SCRIPT_SYSTEMD_TRUE@@WITH_LIBVIRTD_TRUE@SYSTEMD_UNIT_DIR = /lib/systemd/system
@WITH_SANLOCK_TRUE@sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
@WITH_SANLOCK_TRUE@sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
-@WITH_SANLOCK_TRUE@sanlock_la_LDFLAGS = -module -avoid-version
+@WITH_SANLOCK_TRUE@sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
@WITH_SANLOCK_TRUE@sanlock_la_LIBADD = -lsanlock_client \
@WITH_SANLOCK_TRUE@ ../gnulib/lib/libgnu.la
......@@ -10,8 +10,3 @@ Don-t-fail-if-we-can-t-setup-avahi.patch
Reduce-udevadm-settle-timeout-to-10-seconds.patch
debian/Debianize-systemd-service-files.patch
Allow-xen-toolstack-to-find-it-s-binaries.patch
Fix-make-check-not-finding-finding-the-libvirtd-lens.patch
Parse-AM_LDFLAGS-to-driver-modules-too.patch
virFileNBDDeviceAssociate-Avoid-use-of-uninitialized.patch
Fix-cgroups-when-all-are-mounted-on-sys-fs-cgroup.patch
Fix-launching-of-VMs-on-when-only-logind-part-of-sys.patch
From: Michal Privoznik <mprivozn@redhat.com>
Date: Tue, 3 Sep 2013 18:56:06 +0200
Subject: virFileNBDDeviceAssociate: Avoid use of uninitialized variable
The @qemunbd variable can be used uninitialized.
---
src/util/virfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 2b07ac9..7af0843 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -732,7 +732,7 @@ int virFileNBDDeviceAssociate(const char *file,
char **dev)
{
char *nbddev;
- char *qemunbd;
+ char *qemunbd = NULL;
virCommandPtr cmd = NULL;
int ret = -1;
const char *fmtstr = NULL;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment