Hello community,
here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2014-01-07 20:58:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
and /work/SRC/openSUSE:Factory/.libvirt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2013-11-07 08:40:27.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2014-01-07 20:58:32.000000000 +0100
@@ -1,0 +2,105 @@
+Thu Dec 26 17:01:48 MST 2013 - jfehlig@suse.com
+
+- Ignore 'make check' on older, code 11 base
+
+-------------------------------------------------------------------
+Thu Dec 26 12:16:13 UTC 2013 - cbosdonnat@suse.com
+
+- Fixed and reenabled unit tests. bnc#854694
+
+-------------------------------------------------------------------
+Fri Dec 20 13:13:03 MST 2013 - jfehlig@suse.com
+
+- Remove dependency on pm-utils from libvirt-client
+ bnc#856381
+
+-------------------------------------------------------------------
+Fri Dec 20 09:04:45 MST 2013 - jfehlig@suse.com
+
+- CVE-2013-6436: Fix crashes in lxc memtune code, one of which
+ results in DoS
+ f8c1cb90-CVE-2013-6436.patch, 9faf3f29-LXC-memtune.patch
+ bnc#854486
+
+-------------------------------------------------------------------
+Fri Dec 6 15:49:34 MST 2013 - jfehlig@suse.com
+
+- More adjustments to the spec file to fix package dependency
+ issues
+ bnc#848918
+
+-------------------------------------------------------------------
+Fri Dec 6 11:03:54 MST 2013 - jfehlig@suse.com
+
+- Update to libvirt 1.2.0
+ - Add support for gluster pool
+ - Separation of python binding
+ - vbox: add support for 4.3 APIs
+ - Many incremental improvements and bug fixes, see
+ http://libvirt.org/news.html
+ - Updated and renamed clone.patch to ia64-clone.patch
+- Enabled numad support for openSUSE >= 13.1
+
+-------------------------------------------------------------------
+Wed Dec 4 14:28:14 MST 2013 - jfehlig@suse.com
+
+- Link with same versions of libnl used by netcontrol to prevent
+ crashing libvirtd on start
+
+-------------------------------------------------------------------
+Wed Dec 4 10:43:28 MST 2013 - jfehlig@suse.com
+
+- Add '/etc/sasl2' to libvirt-client file list to fix Factory build
+
+-------------------------------------------------------------------
+Tue Nov 26 20:02:48 MST 2013 - jfehlig@suse.com
+
+- Fix starting of libvirtd when NetworkManager is enabled
+ Modified libvirt-suse-netcontrol.patch
+
+-------------------------------------------------------------------
+Tue Nov 26 14:51:44 MST 2013 - jfehlig@suse.com
+
+- Allow execution of libvirt hook scripts in /etc/libvirt/hooks/
+ in libvirtd AppArmor profile
+
+-------------------------------------------------------------------
+Wed Nov 20 10:57:57 MST 2013 - jfehlig@suse.com
+
+- Update to libvirt 1.1.4
+ - Add support for AArch64 architecture
+ - Various improvements on test code and test driver
+ - Don't link virt-login-shell against libvirt.so
+ - Close all non-stdio FDs in virt-login-shell
+ - Only allow 'stderr' log output when running setuid
+ - Fix perms for virConnectDomainXML{To,From}Native
+ - Many incremental improvements and bug fixes, see
+ http://libvirt.org/news.html
+ - Drop upstream patches: e7f400a1-CVE-2013-4296.patch,
+ 2dba0323-CVE-2013-4297.patch, db7a5688-CVE-2013-4311.patch,
+ e65667c0-CVE-2013-4311.patch, 922b7fda-CVE-2013-4311.patch,
+ e4697b92-CVE-2013-4311.patch, 8294aa0c-CVE-2013-4399.patch,
+ 484cc321-fix-spice-migration.patch,
+ 79552754-libvirtd-chardev-crash.patch,
+ 57687fd6-CVE-2013-4401.patch, ae53e5d1-CVE-2013-4400.patch,
+ 8c3586ea-CVE-2013-4400.patch, b7fcc799a-CVE-2013-4400.patch,
+ 3e2f27e1-CVE-2013-4400.patch, 5a0ea4b7-CVE-2013-4400.patch,
+ 843bdb2f-CVE-2013-4400.patch,
+ bd773e74-lxc-terminate-machine.patch,
+ e350826c-python-fix-fd-passing.patch
+
+-------------------------------------------------------------------
+Tue Nov 19 14:23:27 MST 2013 - jfehlig@suse.com
+
+- Allow execution of Xen binaries in /usr/lib{,64}/xen/bin in
+ libvirtd AppArmor profile
+ bnc#849524
+
+-------------------------------------------------------------------
+Tue Nov 19 13:09:31 MST 2013 - jfehlig@suse.com
+
+- Require libvirt-daemon-<hypervisor> in the main libvirt package
+ for each supported hypervisor
+ bnc#850882
+
+-------------------------------------------------------------------
Old:
----
2dba0323-CVE-2013-4297.patch
3e2f27e1-CVE-2013-4400.patch
484cc321-fix-spice-migration.patch
57687fd6-CVE-2013-4401.patch
5a0ea4b7-CVE-2013-4400.patch
79552754-libvirtd-chardev-crash.patch
8294aa0c-CVE-2013-4399.patch
843bdb2f-CVE-2013-4400.patch
8c3586ea-CVE-2013-4400.patch
922b7fda-CVE-2013-4311.patch
ae53e5d1-CVE-2013-4400.patch
b7fcc799a-CVE-2013-4400.patch
bd773e74-lxc-terminate-machine.patch
clone.patch
db7a5688-CVE-2013-4311.patch
e350826c-python-fix-fd-passing.patch
e4697b92-CVE-2013-4311.patch
e65667c0-CVE-2013-4311.patch
e7f400a1-CVE-2013-4296.patch
libvirt-1.1.2.tar.bz2
New:
----
5e397d9c-test-fix-dbus-crash.patch
78af457e-fix-virnettlscontexttest.patch
9faf3f29-LXC-memtune.patch
f8c1cb90-CVE-2013-6436.patch
ia64-clone.patch
libvirt-1.2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
++++ 705 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/libvirt/libvirt.spec
++++ and /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.spec
++++++ 5e397d9c-test-fix-dbus-crash.patch ++++++
From 5e397d9c0f2ce7d464f8e7e6a598d1c955dfc04a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?=
Date: Wed, 18 Dec 2013 17:33:44 +0000
Subject: [PATCH] Fix crash in virsystemdtest with dbus 1.7.6
D-bus introduced some changes in its locking code. Overriding the init
function skips the new locking init and thus crashes later in libvirt
test. Removing the function makes the test pass again.
---
tests/virsystemdmock.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/tests/virsystemdmock.c b/tests/virsystemdmock.c
index b8fc031..b3b82b4 100644
--- a/tests/virsystemdmock.c
+++ b/tests/virsystemdmock.c
@@ -31,11 +31,6 @@ void dbus_connection_set_change_sigpipe(dbus_bool_t will_modify_sigpipe ATTRIBUT
{
}
-dbus_bool_t dbus_threads_init_default(void)
-{
- return 1;
-}
-
DBusConnection *dbus_bus_get(DBusBusType type ATTRIBUTE_UNUSED,
DBusError *error ATTRIBUTE_UNUSED)
{
--
1.8.4.4
++++++ 78af457e-fix-virnettlscontexttest.patch ++++++
From 78af457eefaf40e66a28b00446c03f8ee9a7f30f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?=
Date: Mon, 23 Dec 2013 09:01:42 +0100
Subject: [PATCH] virnettlscontexttest fails with GNUTLS 3.0.28
On openSUSE 12.x with GNUTLS 3.0.28, virnettlscontexttest fails. It has
been reported to work from GNUTLS 3.1.11 on Fedora 19. Changed the
constraints on gnutls to 3.1+ for unit test cacert4req.
Signed-off-by: Eric Blake
---
tests/virnettlscontexttest.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/virnettlscontexttest.c b/tests/virnettlscontexttest.c
index fc512fc..1cc9946 100644
--- a/tests/virnettlscontexttest.c
+++ b/tests/virnettlscontexttest.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011-2012 Red Hat, Inc.
+ * Copyright (C) 2011-2013 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -265,10 +265,12 @@ mymain(void)
/* Technically a CA cert with basic constraints
* key purpose == key signing + non-critical should
- * be rejected. GNUTLS < 3 does not reject it and
+ * be rejected. GNUTLS < 3.1 does not reject it and
* we don't anticipate them changing this behaviour
*/
- DO_CTX_TEST(true, cacert4req.filename, servercert4req.filename, GNUTLS_VERSION_MAJOR >= 3);
+ DO_CTX_TEST(true, cacert4req.filename, servercert4req.filename,
+ (GNUTLS_VERSION_MAJOR == 3 && GNUTLS_VERSION_MINOR >= 1) ||
+ GNUTLS_VERSION_MAJOR > 3);
DO_CTX_TEST(true, cacert5req.filename, servercert5req.filename, true);
DO_CTX_TEST(true, cacert6req.filename, servercert6req.filename, true);
--
1.8.4.4
++++++ 9faf3f29-LXC-memtune.patch ++++++
commit 9faf3f2950aed1643ab7564afcb4c693c77f71b5
Author: Martin Kletzander
Date: Mon Dec 9 11:15:12 2013 +0100
Fix crash in lxcDomainSetMemoryParameters
The function doesn't check whether the request is made for active or
inactive domain. Thus when the domain is not running it still tries
accessing non-existing cgroups (priv->cgroup, which is NULL).
I re-made the function in order for it to work the same way it's qemu
counterpart does.
Reproducer:
1) Define an LXC domain
2) Do 'virsh memtune <domain> --hard-limit 133T'
Backtrace:
Thread 6 (Thread 0x7fffec8c0700 (LWP 26826)):
#0 0x00007ffff70edcc4 in virCgroupPathOfController (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", path=0x7fffec8bf718) at util/vircgroup.c:1764
#1 0x00007ffff70e9206 in virCgroupSetValueStr (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffe409f360 "1073741824")
at util/vircgroup.c:669
#2 0x00007ffff70e98b4 in virCgroupSetValueU64 (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", value=1073741824) at util/vircgroup.c:740
#3 0x00007ffff70ee518 in virCgroupSetMemory (group=0x0, kb=1048576) at util/vircgroup.c:1904
#4 0x00007ffff70ee675 in virCgroupSetMemoryHardLimit (group=0x0, kb=1048576)
at util/vircgroup.c:1944
#5 0x00005555557d54c8 in lxcDomainSetMemoryParameters (dom=0x7fffe40cc420,
params=0x7fffe409f100, nparams=1, flags=0) at lxc/lxc_driver.c:774
#6 0x00007ffff72c20f9 in virDomainSetMemoryParameters (domain=0x7fffe40cc420,
params=0x7fffe409f100, nparams=1, flags=0) at libvirt.c:4051
#7 0x000055555561365f in remoteDispatchDomainSetMemoryParameters (server=0x555555eb7e00,
client=0x555555ec4b10, msg=0x555555eb94e0, rerr=0x7fffec8bfb70, args=0x7fffe40b8510)
at remote_dispatch.h:7621
#8 0x00005555556133fd in remoteDispatchDomainSetMemoryParametersHelper (server=0x555555eb7e00,
client=0x555555ec4b10, msg=0x555555eb94e0, rerr=0x7fffec8bfb70, args=0x7fffe40b8510,
ret=0x7fffe40b84f0) at remote_dispatch.h:7591
#9 0x00007ffff73b293f in virNetServerProgramDispatchCall (prog=0x555555ec3ae0,
server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0)
at rpc/virnetserverprogram.c:435
#10 0x00007ffff73b207f in virNetServerProgramDispatch (prog=0x555555ec3ae0,
server=0x555555eb7e00, client=0x555555ec4b10, msg=0x555555eb94e0)
at rpc/virnetserverprogram.c:305
#11 0x00007ffff73a4d2c in virNetServerProcessMsg (srv=0x555555eb7e00, client=0x555555ec4b10,
prog=0x555555ec3ae0, msg=0x555555eb94e0) at rpc/virnetserver.c:165
#12 0x00007ffff73a4e8d in virNetServerHandleJob (jobOpaque=0x555555ec3e30, opaque=0x555555eb7e00)
at rpc/virnetserver.c:186
#13 0x00007ffff7187f3f in virThreadPoolWorker (opaque=0x555555eb7ac0) at util/virthreadpool.c:144
#14 0x00007ffff718733a in virThreadHelper (data=0x555555eb7890) at util/virthreadpthread.c:161
#15 0x00007ffff468ed89 in start_thread (arg=0x7fffec8c0700) at pthread_create.c:308
#16 0x00007ffff3da26bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Signed-off-by: Martin Kletzander
Index: libvirt-1.2.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-1.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-1.2.0/src/lxc/lxc_driver.c
@@ -742,12 +742,24 @@ lxcDomainSetMemoryParameters(virDomainPt
int nparams,
unsigned int flags)
{
- size_t i;
+ virCapsPtr caps = NULL;
+ virDomainDefPtr vmdef = NULL;
virDomainObjPtr vm = NULL;
+ virLXCDomainObjPrivatePtr priv = NULL;
+ virLXCDriverConfigPtr cfg = NULL;
+ virLXCDriverPtr driver = dom->conn->privateData;
+ unsigned long long hard_limit;
+ unsigned long long soft_limit;
+ unsigned long long swap_hard_limit;
+ bool set_hard_limit = false;
+ bool set_soft_limit = false;
+ bool set_swap_hard_limit = false;
+ int rc;
int ret = -1;
- virLXCDomainObjPrivatePtr priv;
- virCheckFlags(0, -1);
+ virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
+ VIR_DOMAIN_AFFECT_CONFIG, -1);
+
if (virTypedParamsValidate(params, nparams,
VIR_DOMAIN_MEMORY_HARD_LIMIT,
VIR_TYPED_PARAM_ULLONG,
@@ -762,29 +774,97 @@ lxcDomainSetMemoryParameters(virDomainPt
goto cleanup;
priv = vm->privateData;
+ cfg = virLXCDriverGetConfig(driver);
- if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0)
+ if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0 ||
+ !(caps = virLXCDriverGetCapabilities(driver, false)) ||
+ virDomainLiveConfigHelperMethod(caps, driver->xmlopt,
+ vm, &flags, &vmdef) < 0)
goto cleanup;
- ret = 0;
- for (i = 0; i < nparams; i++) {
- virTypedParameterPtr param = ¶ms[i];
+ if (flags & VIR_DOMAIN_AFFECT_LIVE &&
+ !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_MEMORY)) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ "%s", _("cgroup memory controller is not mounted"));
+ goto cleanup;
+ }
- if (STREQ(param->field, VIR_DOMAIN_MEMORY_HARD_LIMIT)) {
- if (virCgroupSetMemoryHardLimit(priv->cgroup, params[i].value.ul) < 0)
- ret = -1;
- } else if (STREQ(param->field, VIR_DOMAIN_MEMORY_SOFT_LIMIT)) {
- if (virCgroupSetMemorySoftLimit(priv->cgroup, params[i].value.ul) < 0)
- ret = -1;
- } else if (STREQ(param->field, VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT)) {
- if (virCgroupSetMemSwapHardLimit(priv->cgroup, params[i].value.ul) < 0)
- ret = -1;
+#define VIR_GET_LIMIT_PARAMETER(PARAM, VALUE) \
+ if ((rc = virTypedParamsGetULLong(params, nparams, PARAM, &VALUE)) < 0) \
+ goto cleanup; \
+ \
+ if (rc == 1) \
+ set_ ## VALUE = true;
+
+ VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT, swap_hard_limit)
+ VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_HARD_LIMIT, hard_limit)
+ VIR_GET_LIMIT_PARAMETER(VIR_DOMAIN_MEMORY_SOFT_LIMIT, soft_limit)
+
+#undef VIR_GET_LIMIT_PARAMETER
+
+ /* Swap hard limit must be greater than hard limit.
+ * Note that limit of 0 denotes unlimited */
+ if (set_swap_hard_limit || set_hard_limit) {
+ unsigned long long mem_limit = vm->def->mem.hard_limit;
+ unsigned long long swap_limit = vm->def->mem.swap_hard_limit;
+
+ if (set_swap_hard_limit)
+ swap_limit = swap_hard_limit;
+
+ if (set_hard_limit)
+ mem_limit = hard_limit;
+
+ if (virCompareLimitUlong(mem_limit, swap_limit) > 0) {
+ virReportError(VIR_ERR_INVALID_ARG, "%s",
+ _("memory hard_limit tunable value must be lower "
+ "than or equal to swap_hard_limit"));
+ goto cleanup;
}
}
+#define LXC_SET_MEM_PARAMETER(FUNC, VALUE) \
+ if (set_ ## VALUE) { \
+ if (flags & VIR_DOMAIN_AFFECT_LIVE) { \
+ if ((rc = FUNC(priv->cgroup, VALUE)) < 0) { \
+ virReportSystemError(-rc, _("unable to set memory %s tunable"), \
+ #VALUE); \
+ \
+ goto cleanup; \
+ } \
+ vm->def->mem.VALUE = VALUE; \
+ } \
+ \
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG) \
+ vmdef->mem.VALUE = VALUE; \
+ }
+
+ /* Soft limit doesn't clash with the others */
+ LXC_SET_MEM_PARAMETER(virCgroupSetMemorySoftLimit, soft_limit);
+
+ /* set hard limit before swap hard limit if decreasing it */
+ if (virCompareLimitUlong(vm->def->mem.hard_limit, hard_limit) > 0) {
+ LXC_SET_MEM_PARAMETER(virCgroupSetMemoryHardLimit, hard_limit);
+ /* inhibit changing the limit a second time */
+ set_hard_limit = false;
+ }
+
+ LXC_SET_MEM_PARAMETER(virCgroupSetMemSwapHardLimit, swap_hard_limit);
+
+ /* otherwise increase it after swap hard limit */
+ LXC_SET_MEM_PARAMETER(virCgroupSetMemoryHardLimit, hard_limit);
+
+#undef LXC_SET_MEM_PARAMETER
+
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG &&
+ virDomainSaveConfig(cfg->configDir, vmdef) < 0)
+ goto cleanup;
+
+ ret = 0;
cleanup:
if (vm)
virObjectUnlock(vm);
+ virObjectUnref(caps);
+ virObjectUnref(cfg);
return ret;
}
++++++ f8c1cb90-CVE-2013-6436.patch ++++++
commit f8c1cb90213508c4f32549023b0572ed774e48aa
Author: Martin Kletzander
Date: Mon Dec 9 11:15:11 2013 +0100
CVE-2013-6436: fix crash in lxcDomainGetMemoryParameters
The function doesn't check whether the request is made for active or
inactive domain. Thus when the domain is not running it still tries
accessing non-existing cgroups (priv->cgroup, which is NULL).
I re-made the function in order for it to work the same way it's qemu
counterpart does.
Reproducer:
1) Define an LXC domain
2) Do 'virsh memtune <domain>'
Backtrace:
Thread 6 (Thread 0x7fffec8c0700 (LWP 13387)):
#0 0x00007ffff70edcc4 in virCgroupPathOfController (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", path=0x7fffec8bf750) at util/vircgroup.c:1764
#1 0x00007ffff70e958c in virCgroupGetValueStr (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffec8bf7c0) at util/vircgroup.c:705
#2 0x00007ffff70e9d29 in virCgroupGetValueU64 (group=0x0, controller=3,
key=0x7ffff75734bd "memory.limit_in_bytes", value=0x7fffec8bf810) at util/vircgroup.c:804
#3 0x00007ffff70ee706 in virCgroupGetMemoryHardLimit (group=0x0, kb=0x7fffec8bf8a8)
at util/vircgroup.c:1962
#4 0x00005555557d590f in lxcDomainGetMemoryParameters (dom=0x7fffd40024a0,
params=0x7fffd40027a0, nparams=0x7fffec8bfa24, flags=0) at lxc/lxc_driver.c:826
#5 0x00007ffff72c28d3 in virDomainGetMemoryParameters (domain=0x7fffd40024a0,
params=0x7fffd40027a0, nparams=0x7fffec8bfa24, flags=0) at libvirt.c:4137
#6 0x000055555563714d in remoteDispatchDomainGetMemoryParameters (server=0x555555eb7e00,
client=0x555555ebaef0, msg=0x555555ebb3e0, rerr=0x7fffec8bfb70, args=0x7fffd40024e0,
ret=0x7fffd4002420) at remote.c:1895
#7 0x00005555556052c4 in remoteDispatchDomainGetMemoryParametersHelper (server=0x555555eb7e00,
client=0x555555ebaef0, msg=0x555555ebb3e0, rerr=0x7fffec8bfb70, args=0x7fffd40024e0,
ret=0x7fffd4002420) at remote_dispatch.h:4050
#8 0x00007ffff73b293f in virNetServerProgramDispatchCall (prog=0x555555ec3ae0,
server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0)
at rpc/virnetserverprogram.c:435
#9 0x00007ffff73b207f in virNetServerProgramDispatch (prog=0x555555ec3ae0,
server=0x555555eb7e00, client=0x555555ebaef0, msg=0x555555ebb3e0)
at rpc/virnetserverprogram.c:305
#10 0x00007ffff73a4d2c in virNetServerProcessMsg (srv=0x555555eb7e00, client=0x555555ebaef0,
prog=0x555555ec3ae0, msg=0x555555ebb3e0) at rpc/virnetserver.c:165
#11 0x00007ffff73a4e8d in virNetServerHandleJob (jobOpaque=0x555555ebc7e0, opaque=0x555555eb7e00)
at rpc/virnetserver.c:186
#12 0x00007ffff7187f3f in virThreadPoolWorker (opaque=0x555555eb7ac0) at util/virthreadpool.c:144
#13 0x00007ffff718733a in virThreadHelper (data=0x555555eb7890) at util/virthreadpthread.c:161
#14 0x00007ffff468ed89 in start_thread (arg=0x7fffec8c0700) at pthread_create.c:308
#15 0x00007ffff3da26bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Signed-off-by: Martin Kletzander
Index: libvirt-1.2.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-1.2.0.orig/src/lxc/lxc_driver.c
+++ libvirt-1.2.0/src/lxc/lxc_driver.c
@@ -794,22 +794,36 @@ lxcDomainGetMemoryParameters(virDomainPt
int *nparams,
unsigned int flags)
{
- size_t i;
+ virCapsPtr caps = NULL;
+ virDomainDefPtr vmdef = NULL;
virDomainObjPtr vm = NULL;
+ virLXCDomainObjPrivatePtr priv = NULL;
+ virLXCDriverPtr driver = dom->conn->privateData;
unsigned long long val;
int ret = -1;
- virLXCDomainObjPrivatePtr priv;
+ size_t i;
- virCheckFlags(0, -1);
+ virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
+ VIR_DOMAIN_AFFECT_CONFIG, -1);
if (!(vm = lxcDomObjFromDomain(dom)))
goto cleanup;
priv = vm->privateData;
- if (virDomainGetMemoryParametersEnsureACL(dom->conn, vm->def) < 0)
+ if (virDomainGetMemoryParametersEnsureACL(dom->conn, vm->def) < 0 ||
+ !(caps = virLXCDriverGetCapabilities(driver, false)) ||
+ virDomainLiveConfigHelperMethod(caps, driver->xmlopt,
+ vm, &flags, &vmdef) < 0)
goto cleanup;
+ if (flags & VIR_DOMAIN_AFFECT_LIVE &&
+ !virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_MEMORY)) {
+ virReportError(VIR_ERR_OPERATION_INVALID,
+ "%s", _("cgroup memory controller is not mounted"));
+ goto cleanup;
+ }
+
if ((*nparams) == 0) {
/* Current number of memory parameters supported by cgroups */
*nparams = LXC_NB_MEM_PARAM;
@@ -823,22 +837,34 @@ lxcDomainGetMemoryParameters(virDomainPt
switch (i) {
case 0: /* fill memory hard limit here */
- if (virCgroupGetMemoryHardLimit(priv->cgroup, &val) < 0)
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ val = vmdef->mem.hard_limit;
+ val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED;
+ } else if (virCgroupGetMemoryHardLimit(priv->cgroup, &val) < 0) {
goto cleanup;
+ }
if (virTypedParameterAssign(param, VIR_DOMAIN_MEMORY_HARD_LIMIT,
VIR_TYPED_PARAM_ULLONG, val) < 0)
goto cleanup;
break;
case 1: /* fill memory soft limit here */
- if (virCgroupGetMemorySoftLimit(priv->cgroup, &val) < 0)
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ val = vmdef->mem.soft_limit;
+ val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED;
+ } else if (virCgroupGetMemorySoftLimit(priv->cgroup, &val) < 0) {
goto cleanup;
+ }
if (virTypedParameterAssign(param, VIR_DOMAIN_MEMORY_SOFT_LIMIT,
VIR_TYPED_PARAM_ULLONG, val) < 0)
goto cleanup;
break;
case 2: /* fill swap hard limit here */
- if (virCgroupGetMemSwapHardLimit(priv->cgroup, &val) < 0)
+ if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ val = vmdef->mem.swap_hard_limit;
+ val = val ? val : VIR_DOMAIN_MEMORY_PARAM_UNLIMITED;
+ } else if (virCgroupGetMemSwapHardLimit(priv->cgroup, &val) < 0) {
goto cleanup;
+ }
if (virTypedParameterAssign(param,
VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT,
VIR_TYPED_PARAM_ULLONG, val) < 0)
@@ -859,6 +885,7 @@ lxcDomainGetMemoryParameters(virDomainPt
cleanup:
if (vm)
virObjectUnlock(vm);
+ virObjectUnref(caps);
return ret;
}
++++++ fix-pci-attach-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -8,11 +8,11 @@
This patch changes the xend driver to always call 'device_configure' for
PCI devices to be consistent with the usage in the xen tools.
-Index: libvirt-1.1.2/src/xen/xend_internal.c
+Index: libvirt-1.2.0/src/xen/xend_internal.c
===================================================================
---- libvirt-1.1.2.orig/src/xen/xend_internal.c
-+++ libvirt-1.1.2/src/xen/xend_internal.c
-@@ -2206,6 +2206,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+--- libvirt-1.2.0.orig/src/xen/xend_internal.c
++++ libvirt-1.2.0/src/xen/xend_internal.c
+@@ -2207,6 +2207,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
virBuffer buf = VIR_BUFFER_INITIALIZER;
char class[8], ref[80];
char *target = NULL;
@@ -20,7 +20,7 @@
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
-@@ -2304,8 +2305,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+@@ -2305,8 +2306,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
}
sexpr = virBufferContentAndReset(&buf);
++++++ ia64-clone.patch ++++++
Index: libvirt-1.2.0/src/lxc/lxc_container.c
===================================================================
--- libvirt-1.2.0.orig/src/lxc/lxc_container.c
+++ libvirt-1.2.0/src/lxc/lxc_container.c
@@ -162,12 +162,19 @@ int lxcContainerHasReboot(void)
VIR_FREE(buf);
cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF;
+#ifdef __ia64__
+ stacksize *= 2;
+#endif
if (VIR_ALLOC_N(stack, stacksize) < 0)
return -1;
childStack = stack + stacksize;
+#ifdef __ia64__
+ cpid = __clone2(lxcContainerRebootChild, childStack, stacksize, flags, &cmd);
+#else
cpid = clone(lxcContainerRebootChild, childStack, flags, &cmd);
+#endif
VIR_FREE(stack);
if (cpid < 0) {
virReportSystemError(errno, "%s",
@@ -1985,6 +1992,9 @@ int lxcContainerStart(virDomainDefPtr de
.handshakefd = handshakefd
};
+#ifdef __ia64__
+ stacksize *= 2;
+#endif
/* allocate a stack for the container */
if (VIR_ALLOC_N(stack, stacksize) < 0)
return -1;
@@ -2010,7 +2020,11 @@ int lxcContainerStart(virDomainDefPtr de
cflags |= CLONE_NEWNET;
}
+#ifdef __ia64__
+ pid = __clone2(lxcContainerChild, stacktop, stacksize, cflags, &args);
+#else
pid = clone(lxcContainerChild, stacktop, cflags, &args);
+#endif
VIR_FREE(stack);
VIR_DEBUG("clone() completed, new container PID is %d", pid);
@@ -2044,12 +2058,19 @@ int lxcContainerAvailable(int features)
if (features & LXC_CONTAINER_FEATURE_NET)
flags |= CLONE_NEWNET;
+#ifdef __ia64__
+ stacksize *= 2;
+#endif
if (VIR_ALLOC_N(stack, stacksize) < 0)
return -1;
childStack = stack + stacksize;
+#ifdef __ia64__
+ cpid = __clone2(lxcContainerDummyChild, childStack, stacksize, flags, NULL);
+#else
cpid = clone(lxcContainerDummyChild, childStack, flags, NULL);
+#endif
VIR_FREE(stack);
if (cpid < 0) {
char ebuf[1024] ATTRIBUTE_UNUSED;
++++++ install-apparmor-profiles.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.1.2/examples/apparmor/Makefile.am
+Index: libvirt-1.2.0/examples/apparmor/Makefile.am
===================================================================
---- libvirt-1.1.2.orig/examples/apparmor/Makefile.am
-+++ libvirt-1.1.2/examples/apparmor/Makefile.am
+--- libvirt-1.2.0.orig/examples/apparmor/Makefile.am
++++ libvirt-1.2.0/examples/apparmor/Makefile.am
@@ -14,8 +14,45 @@
## License along with this library. If not, see
## http://www.gnu.org/licenses/.
@@ -53,10 +53,10 @@
+ rm -f $(DESTDIR)$(sysconfdir)/apparmor.d/libvirt/TEMPLATE
+
+endif
-Index: libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
+Index: libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
===================================================================
--- /dev/null
-+++ libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
++++ libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper.in
@@ -0,0 +1,41 @@
+# Last Modified: Fri Aug 19 11:21:48 2011
+#include
@@ -99,9 +99,9 @@
+ /var/lib/kvm/images/ r,
+ /var/lib/kvm/images/** r,
+}
-Index: libvirt-1.1.2/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+Index: libvirt-1.2.0/examples/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
---- libvirt-1.1.2.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+--- libvirt-1.2.0.orig/examples/apparmor/usr.lib.libvirt.virt-aa-helper
+++ /dev/null
@@ -1,38 +0,0 @@
-# Last Modified: Mon Apr 5 15:10:27 2010
@@ -142,9 +142,9 @@
- /var/lib/libvirt/images/ r,
- /var/lib/libvirt/images/** r,
-}
-Index: libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd
+Index: libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd
===================================================================
---- libvirt-1.1.2.orig/examples/apparmor/usr.sbin.libvirtd
+--- libvirt-1.2.0.orig/examples/apparmor/usr.sbin.libvirtd
+++ /dev/null
@@ -1,52 +0,0 @@
-# Last Modified: Mon Apr 5 15:03:58 2010
@@ -199,11 +199,11 @@
- change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
-
-}
-Index: libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd.in
+Index: libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd.in
===================================================================
--- /dev/null
-+++ libvirt-1.1.2/examples/apparmor/usr.sbin.libvirtd.in
-@@ -0,0 +1,60 @@
++++ libvirt-1.2.0/examples/apparmor/usr.sbin.libvirtd.in
+@@ -0,0 +1,61 @@
+# Last Modified: Fri Aug 19 11:20:36 2011
+#include
+@{LIBVIRT}="libvirt"
@@ -244,8 +244,8 @@
+ /sbin/* Ux,
+ /usr/bin/* Ux,
+ /usr/sbin/* Ux,
-+ /usr/lib/xen/bin/qemu-dm Ux,
-+ /usr/lib/xen/bin/qemu-system-i386 Ux,
++ /usr/lib/xen/bin/* Ux,
++ /usr/lib64/xen/bin/* Ux,
+ /usr/lib/PolicyKit/polkit-read-auth-helper Px,
+
+ # force the use of virt-aa-helper
@@ -255,6 +255,7 @@
+ audit deny /sys/kernel/security/apparmor/matching rwxl,
+ audit deny /sys/kernel/security/apparmor/.* rwxl,
+ /sys/kernel/security/apparmor/profiles r,
++ /etc/libvirt/hooks/* rix,
+ /etc/xen/scripts/* rix,
+ @libdir@/libvirt/* Pxr,
+ @libdir@/libvirt/libvirt_parthelper Ux,
@@ -264,9 +265,9 @@
+ change_profile -> @{LIBVIRT}-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*-[0-9a-f]*,
+
+}
-Index: libvirt-1.1.2/examples/apparmor/libvirt-qemu
+Index: libvirt-1.2.0/examples/apparmor/libvirt-qemu
===================================================================
---- libvirt-1.1.2.orig/examples/apparmor/libvirt-qemu
+--- libvirt-1.2.0.orig/examples/apparmor/libvirt-qemu
+++ /dev/null
@@ -1,129 +0,0 @@
-# Last Modified: Fri Mar 9 14:43:22 2012
@@ -398,10 +399,10 @@
-
- /usr/libexec/qemu-bridge-helper rmix,
- }
-Index: libvirt-1.1.2/examples/apparmor/libvirt-qemu.in
+Index: libvirt-1.2.0/examples/apparmor/libvirt-qemu.in
===================================================================
--- /dev/null
-+++ libvirt-1.1.2/examples/apparmor/libvirt-qemu.in
++++ libvirt-1.2.0/examples/apparmor/libvirt-qemu.in
@@ -0,0 +1,132 @@
+# Last Modified: Fri Mar 9 14:43:22 2012
+
++++++ libvirt-1.1.2.tar.bz2 -> libvirt-1.2.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/libvirt/libvirt-1.1.2.tar.bz2 /work/SRC/openSUSE:Factory/.libvirt.new/libvirt-1.2.0.tar.bz2 differ: char 11, line 1
++++++ libvirt-guests-init-script.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,9 +1,9 @@
Adjust libvirt-guests init files to conform to SUSE standards
-Index: libvirt-1.1.2/tools/libvirt-guests.init.in
+Index: libvirt-1.2.0/tools/libvirt-guests.init.in
===================================================================
---- libvirt-1.1.2.orig/tools/libvirt-guests.init.in
-+++ libvirt-1.1.2/tools/libvirt-guests.init.in
+--- libvirt-1.2.0.orig/tools/libvirt-guests.init.in
++++ libvirt-1.2.0/tools/libvirt-guests.init.in
@@ -3,15 +3,15 @@
# the following is the LSB init header
#
@@ -28,10 +28,10 @@
### END INIT INFO
# the following is chkconfig init header
-Index: libvirt-1.1.2/tools/libvirt-guests.sh.in
+Index: libvirt-1.2.0/tools/libvirt-guests.sh.in
===================================================================
---- libvirt-1.1.2.orig/tools/libvirt-guests.sh.in
-+++ libvirt-1.1.2/tools/libvirt-guests.sh.in
+--- libvirt-1.2.0.orig/tools/libvirt-guests.sh.in
++++ libvirt-1.2.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# http://www.gnu.org/licenses/.
@@ -189,10 +189,10 @@
esac
-exit $RETVAL
+rc_exit
-Index: libvirt-1.1.2/tools/libvirt-guests.sysconf
+Index: libvirt-1.2.0/tools/libvirt-guests.sysconf
===================================================================
---- libvirt-1.1.2.orig/tools/libvirt-guests.sysconf
-+++ libvirt-1.1.2/tools/libvirt-guests.sysconf
+--- libvirt-1.2.0.orig/tools/libvirt-guests.sysconf
++++ libvirt-1.2.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+
++++++ libvirt-suse-netcontrol.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,16 +1,16 @@
-Index: libvirt-1.1.2/configure.ac
+Index: libvirt-1.2.0/configure.ac
===================================================================
---- libvirt-1.1.2.orig/configure.ac
-+++ libvirt-1.1.2/configure.ac
-@@ -174,6 +174,7 @@ LIBVIRT_CHECK_DBUS
- LIBVIRT_CHECK_FUSE
+--- libvirt-1.2.0.orig/configure.ac
++++ libvirt-1.2.0/configure.ac
+@@ -231,6 +231,7 @@ LIBVIRT_CHECK_FUSE
+ LIBVIRT_CHECK_GLUSTER
LIBVIRT_CHECK_HAL
LIBVIRT_CHECK_NETCF
+LIBVIRT_CHECK_NETCONTROL
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_OPENWSMAN
LIBVIRT_CHECK_PCIACCESS
-@@ -2297,11 +2298,12 @@ if test "$with_libvirtd" = "no" ; then
+@@ -2312,11 +2313,12 @@ if test "$with_libvirtd" = "no" ; then
with_interface=no
fi
@@ -26,22 +26,22 @@
esac
if test "$with_interface" = "yes" ; then
-@@ -2609,6 +2611,7 @@ LIBVIRT_RESULT_DBUS
- LIBVIRT_RESULT_FUSE
+@@ -2631,6 +2633,7 @@ LIBVIRT_RESULT_FUSE
+ LIBVIRT_RESULT_GLUSTER
LIBVIRT_RESULT_HAL
LIBVIRT_RESULT_NETCF
+LIBVIRT_RESULT_NETCONTROL
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
LIBVIRT_RESULT_PCIACCESS
-Index: libvirt-1.1.2/src/Makefile.am
+Index: libvirt-1.2.0/src/Makefile.am
===================================================================
---- libvirt-1.1.2.orig/src/Makefile.am
-+++ libvirt-1.1.2/src/Makefile.am
-@@ -754,6 +754,10 @@ if WITH_NETCF
+--- libvirt-1.2.0.orig/src/Makefile.am
++++ libvirt-1.2.0/src/Makefile.am
+@@ -781,6 +781,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c
- endif
+ endif WITH_NETCF
+if WITH_NETCONTROL
+INTERFACE_DRIVER_SOURCES += \
+ interface/interface_backend_netcf.c
@@ -49,28 +49,27 @@
if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c
-@@ -1314,11 +1318,16 @@ if WITH_NETCF
+@@ -1346,10 +1350,15 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
- else
+ else ! WITH_NETCF
+if WITH_NETCONTROL
+libvirt_driver_interface_la_CFLAGS += $(NETCONTROL_CFLAGS)
+libvirt_driver_interface_la_LIBADD += $(NETCONTROL_LIBS)
-+else
++else ! WITH_NETCONTROL
if WITH_UDEV
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
- endif
- endif
-+endif
+ endif WITH_UDEV
++endif ! WITH_NETCONTROL
+ endif ! WITH_NETCF
if WITH_DRIVER_MODULES
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
- libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
-Index: libvirt-1.1.2/tools/virsh.c
+Index: libvirt-1.2.0/tools/virsh.c
===================================================================
---- libvirt-1.1.2.orig/tools/virsh.c
-+++ libvirt-1.1.2/tools/virsh.c
-@@ -2864,6 +2864,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
+--- libvirt-1.2.0.orig/tools/virsh.c
++++ libvirt-1.2.0/tools/virsh.c
+@@ -3029,6 +3029,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@@ -79,10 +78,10 @@
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
-Index: libvirt-1.1.2/src/interface/interface_backend_netcf.c
+Index: libvirt-1.2.0/src/interface/interface_backend_netcf.c
===================================================================
---- libvirt-1.1.2.orig/src/interface/interface_backend_netcf.c
-+++ libvirt-1.1.2/src/interface/interface_backend_netcf.c
+--- libvirt-1.2.0.orig/src/interface/interface_backend_netcf.c
++++ libvirt-1.2.0/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include
@@ -97,9 +96,9 @@
#include "virerror.h"
#include "datatypes.h"
-@@ -54,6 +59,38 @@ static void interfaceDriverUnlock(struct
- virMutexUnlock(&driver->lock);
- }
+@@ -63,6 +68,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
+
+ static virNetcfDriverStatePtr driverState = NULL;
+#ifdef WITH_NETCONTROL
+static void
@@ -132,25 +131,44 @@
+ virLogMessage(VIR_LOG_FROM_FILE, vp, file, line, func, 0, "%s", msg);
+}
+#endif
-+
- /*
- * Get a minimal virInterfaceDef containing enough metadata
- * for access control checks to be performed. Currently
-@@ -164,6 +201,10 @@ static virDrvOpenStatus netcfInterfaceOp
- goto mutex_error;
- }
+
+ static void
+ virNetcfDriverStateDispose(void *obj)
+@@ -85,7 +121,22 @@ netcfStateInitialize(bool privileged ATT
+ if (!(driverState = virObjectLockableNew(virNetcfDriverStateClass)))
+ return -1;
+#ifdef WITH_NETCONTROL
+ nc_logger_redirect_to(interface_nc_log_driver);
-+#endif
+
/* open netcf */
- if (ncf_init(&driverState->netcf, NULL) != 0)
- {
-Index: libvirt-1.1.2/src/interface/interface_driver.c
++ /* Note: On SUSE, ncf_init will fail if Network Manager is enabled. Ignore
++ * the failure so libvirtd will still start. Connections to the driver will
++ * fail in netcfInterfaceOpen. This restores the behavior before
++ * commit 822fe136.
++ */
++ if (ncf_init(&driverState->netcf, NULL) != 0) {
++ VIR_WARN("Failed to initialize netcontrol. Continuing with network "
++ "interface management features disabled");
++ virObjectUnref(driverState);
++ driverState = NULL;
++ }
++#else
+ if (ncf_init(&driverState->netcf, NULL) != 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("failed to initialize netcf"));
+@@ -93,6 +144,7 @@ netcfStateInitialize(bool privileged ATT
+ driverState = NULL;
+ return -1;
+ }
++#endif
+ return 0;
+ }
+
+Index: libvirt-1.2.0/src/interface/interface_driver.c
===================================================================
---- libvirt-1.1.2.orig/src/interface/interface_driver.c
-+++ libvirt-1.1.2/src/interface/interface_driver.c
+--- libvirt-1.2.0.orig/src/interface/interface_driver.c
++++ libvirt-1.2.0/src/interface/interface_driver.c
@@ -28,8 +28,15 @@ interfaceRegister(void) {
if (netcfIfaceRegister() == 0)
return 0;
@@ -168,10 +186,10 @@
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
-Index: libvirt-1.1.2/m4/virt-netcontrol.m4
+Index: libvirt-1.2.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
-+++ libvirt-1.1.2/m4/virt-netcontrol.m4
++++ libvirt-1.2.0/m4/virt-netcontrol.m4
@@ -0,0 +1,35 @@
+dnl The libnetcontrol library
+dnl
++++++ libvirtd-defaults.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.1.2/daemon/libvirtd.conf
+Index: libvirt-1.2.0/daemon/libvirtd.conf
===================================================================
---- libvirt-1.1.2.orig/daemon/libvirtd.conf
-+++ libvirt-1.1.2/daemon/libvirtd.conf
+--- libvirt-1.2.0.orig/daemon/libvirtd.conf
++++ libvirt-1.2.0/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@@ -13,10 +13,10 @@
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
-Index: libvirt-1.1.2/daemon/libvirtd-config.c
+Index: libvirt-1.2.0/daemon/libvirtd-config.c
===================================================================
---- libvirt-1.1.2.orig/daemon/libvirtd-config.c
-+++ libvirt-1.1.2/daemon/libvirtd-config.c
+--- libvirt-1.2.0.orig/daemon/libvirtd-config.c
++++ libvirt-1.2.0/daemon/libvirtd-config.c
@@ -222,7 +222,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
++++++ libvirtd-init-script.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
-Index: libvirt-1.1.2/daemon/libvirtd.sysconf
+Index: libvirt-1.2.0/daemon/libvirtd.sysconf
===================================================================
---- libvirt-1.1.2.orig/daemon/libvirtd.sysconf
-+++ libvirt-1.1.2/daemon/libvirtd.sysconf
+--- libvirt-1.2.0.orig/daemon/libvirtd.sysconf
++++ libvirt-1.2.0/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+
++++++ libxl-hvm-nic.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,8 +1,8 @@
-Index: libvirt-1.1.2/src/libxl/libxl_conf.c
+Index: libvirt-1.2.0/src/libxl/libxl_conf.c
===================================================================
---- libvirt-1.1.2.orig/src/libxl/libxl_conf.c
-+++ libvirt-1.1.2/src/libxl/libxl_conf.c
-@@ -846,8 +846,6 @@ libxlMakeNic(virDomainNetDefPtr l_nic, l
+--- libvirt-1.2.0.orig/src/libxl/libxl_conf.c
++++ libvirt-1.2.0/src/libxl/libxl_conf.c
+@@ -886,8 +886,6 @@ libxlMakeNic(virDomainNetDefPtr l_nic, l
* x_nics[i].mtu = 1492;
*/
@@ -11,7 +11,7 @@
virMacAddrGetRaw(&l_nic->mac, x_nic->mac);
if (l_nic->model && !STREQ(l_nic->model, "netfront")) {
-@@ -892,6 +890,8 @@ libxlMakeNicList(virDomainDefPtr def, l
+@@ -932,6 +930,8 @@ libxlMakeNicList(virDomainDefPtr def, l
return -1;
for (i = 0; i < nnics; i++) {
++++++ libxl-hvm-vnc.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,8 +1,8 @@
-Index: libvirt-1.1.2/src/libxl/libxl_conf.c
+Index: libvirt-1.2.0/src/libxl/libxl_conf.c
===================================================================
---- libvirt-1.1.2.orig/src/libxl/libxl_conf.c
-+++ libvirt-1.1.2/src/libxl/libxl_conf.c
-@@ -524,6 +524,30 @@ libxlMakeChrdevStr(virDomainChrDefPtr de
+--- libvirt-1.2.0.orig/src/libxl/libxl_conf.c
++++ libvirt-1.2.0/src/libxl/libxl_conf.c
+@@ -561,6 +561,30 @@ libxlMakeChrdevStr(virDomainChrDefPtr de
}
static int
@@ -33,7 +33,7 @@
libxlMakeDomBuildInfo(virDomainObjPtr vm, libxl_domain_config *d_config)
{
virDomainDefPtr def = vm->def;
-@@ -1025,6 +1049,9 @@ libxlBuildDomainConfig(libxlDriverPrivat
+@@ -1174,6 +1198,9 @@ libxlBuildDomainConfig(libxlDriverPrivat
if (libxlMakeVfbList(driver, def, d_config) < 0)
return -1;
++++++ support-managed-pci-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -8,11 +8,11 @@
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
-Index: libvirt-1.1.2/src/xenxs/xen_sxpr.c
+Index: libvirt-1.2.0/src/xenxs/xen_sxpr.c
===================================================================
---- libvirt-1.1.2.orig/src/xenxs/xen_sxpr.c
-+++ libvirt-1.1.2/src/xenxs/xen_sxpr.c
-@@ -993,6 +993,7 @@ xenParseSxprPCI(virDomainDefPtr def,
+--- libvirt-1.2.0.orig/src/xenxs/xen_sxpr.c
++++ libvirt-1.2.0/src/xenxs/xen_sxpr.c
+@@ -996,6 +996,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;
int funcID;
@@ -20,7 +20,7 @@
node = cur->u.s.car;
if (!sexpr_lookup(node, "dev"))
-@@ -1040,11 +1041,13 @@ xenParseSxprPCI(virDomainDefPtr def,
+@@ -1043,11 +1044,13 @@ xenParseSxprPCI(virDomainDefPtr def,
goto error;
}
@@ -35,7 +35,7 @@
dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
dev->source.subsys.u.pci.addr.domain = domainID;
dev->source.subsys.u.pci.addr.bus = busID;
-@@ -1990,11 +1993,15 @@ static void
+@@ -1991,11 +1994,15 @@ static void
xenFormatSxprPCI(virDomainHostdevDefPtr def,
virBufferPtr buf)
{
@@ -52,7 +52,7 @@
}
-@@ -2013,12 +2020,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
+@@ -2014,12 +2021,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
virBufferPtr buf,
int detach)
{
@@ -65,7 +65,7 @@
virBufferAddLit(buf, "(pci ");
xenFormatSxprPCI(def, buf);
if (detach)
-@@ -2073,12 +2074,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
+@@ -2074,12 +2075,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
for (i = 0; i < def->nhostdevs; i++) {
if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
@@ -78,10 +78,10 @@
xenFormatSxprPCI(def->hostdevs[i], buf);
}
}
-Index: libvirt-1.1.2/src/xenxs/xen_xm.c
+Index: libvirt-1.2.0/src/xenxs/xen_xm.c
===================================================================
---- libvirt-1.1.2.orig/src/xenxs/xen_xm.c
-+++ libvirt-1.1.2/src/xenxs/xen_xm.c
+--- libvirt-1.2.0.orig/src/xenxs/xen_xm.c
++++ libvirt-1.2.0/src/xenxs/xen_xm.c
@@ -802,6 +802,8 @@ xenParseXM(virConfPtr conf, int xendConf
int busID;
int slotID;
++++++ suse-qemu-conf.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,8 +1,8 @@
-Index: libvirt-1.1.2/src/qemu/qemu.conf
+Index: libvirt-1.2.0/src/qemu/qemu.conf
===================================================================
---- libvirt-1.1.2.orig/src/qemu/qemu.conf
-+++ libvirt-1.1.2/src/qemu/qemu.conf
-@@ -175,7 +175,16 @@
+--- libvirt-1.2.0.orig/src/qemu/qemu.conf
++++ libvirt-1.2.0/src/qemu/qemu.conf
+@@ -200,7 +200,16 @@
# a special value; security_driver can be set to that value in
# isolation, but it cannot appear in a list of drivers.
#
@@ -19,7 +19,7 @@
# If set to non-zero, then the default security labeling
# will make guests confined. If set to zero, then guests
-@@ -371,6 +380,15 @@
+@@ -402,6 +411,15 @@
#allow_disk_format_probing = 1
++++++ systemd-service-xen.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.1.2/daemon/libvirtd.service.in
+Index: libvirt-1.2.0/daemon/libvirtd.service.in
===================================================================
---- libvirt-1.1.2.orig/daemon/libvirtd.service.in
-+++ libvirt-1.1.2/daemon/libvirtd.service.in
+--- libvirt-1.2.0.orig/daemon/libvirtd.service.in
++++ libvirt-1.2.0/daemon/libvirtd.service.in
@@ -9,6 +9,8 @@ Before=libvirt-guests.service
After=network.target
After=dbus.service
++++++ virtlockd-init-script.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards
-Index: libvirt-1.1.2/src/locking/virtlockd.sysconf
+Index: libvirt-1.2.0/src/locking/virtlockd.sysconf
===================================================================
---- libvirt-1.1.2.orig/src/locking/virtlockd.sysconf
-+++ libvirt-1.1.2/src/locking/virtlockd.sysconf
+--- libvirt-1.2.0.orig/src/locking/virtlockd.sysconf
++++ libvirt-1.2.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
@@ -12,10 +12,10 @@
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=
-Index: libvirt-1.1.2/src/locking/virtlockd.init.in
+Index: libvirt-1.2.0/src/locking/virtlockd.init.in
===================================================================
---- libvirt-1.1.2.orig/src/locking/virtlockd.init.in
-+++ libvirt-1.1.2/src/locking/virtlockd.init.in
+--- libvirt-1.2.0.orig/src/locking/virtlockd.init.in
++++ libvirt-1.2.0/src/locking/virtlockd.init.in
@@ -4,11 +4,13 @@
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-gen...
#
++++++ xen-name-for-devid.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -14,10 +14,10 @@
is inactive. We obviously can't search xenstore when the domain is
inactive.
-Index: libvirt-1.1.2/src/xen/xend_internal.c
+Index: libvirt-1.2.0/src/xen/xend_internal.c
===================================================================
---- libvirt-1.1.2.orig/src/xen/xend_internal.c
-+++ libvirt-1.1.2/src/xen/xend_internal.c
+--- libvirt-1.2.0.orig/src/xen/xend_internal.c
++++ libvirt-1.2.0/src/xen/xend_internal.c
@@ -70,7 +70,7 @@
#define XEND_RCV_BUF_MAX_LEN (256 * 1024)
@@ -27,7 +27,7 @@
virDomainDeviceDefPtr dev, char *class,
char *ref, int ref_len);
-@@ -3314,18 +3314,18 @@ xenDaemonDomainBlockPeek(virConnectPtr c
+@@ -3316,18 +3316,18 @@ xenDaemonDomainBlockPeek(virConnectPtr c
* Returns 0 in case of success, -1 in case of failure.
*/
static int
@@ -50,7 +50,7 @@
if (dev->data.disk->driverName &&
STREQ(dev->data.disk->driverName, "tap"))
strcpy(class, "tap");
-@@ -3335,19 +3335,17 @@ virDomainXMLDevID(virConnectPtr conn,
+@@ -3337,19 +3337,17 @@ virDomainXMLDevID(virConnectPtr conn,
else
strcpy(class, "vbd");
@@ -81,7 +81,7 @@
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
char mac[VIR_MAC_STRING_BUFLEN];
virDomainNetDefPtr netdef = dev->data.net;
-@@ -3355,16 +3353,22 @@ virDomainXMLDevID(virConnectPtr conn,
+@@ -3357,16 +3355,22 @@ virDomainXMLDevID(virConnectPtr conn,
strcpy(class, "vif");
@@ -114,7 +114,7 @@
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
-@@ -3380,17 +3384,44 @@ virDomainXMLDevID(virConnectPtr conn,
+@@ -3382,17 +3386,44 @@ virDomainXMLDevID(virConnectPtr conn,
strcpy(class, "pci");
++++++ xen-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.B7FsXv/_old 2014-01-07 20:58:33.000000000 +0100
+++ /var/tmp/diff_new_pack.B7FsXv/_new 2014-01-07 20:58:33.000000000 +0100
@@ -1,8 +1,8 @@
-Index: libvirt-1.1.2/src/xenxs/xen_sxpr.c
+Index: libvirt-1.2.0/src/xenxs/xen_sxpr.c
===================================================================
---- libvirt-1.1.2.orig/src/xenxs/xen_sxpr.c
-+++ libvirt-1.1.2/src/xenxs/xen_sxpr.c
-@@ -327,7 +327,7 @@ error:
+--- libvirt-1.2.0.orig/src/xenxs/xen_sxpr.c
++++ libvirt-1.2.0/src/xenxs/xen_sxpr.c
+@@ -330,7 +330,7 @@ error:
static int
xenParseSxprDisks(virDomainDefPtr def,
const struct sexpr *root,
@@ -11,7 +11,7 @@
int xendConfigVersion)
{
const struct sexpr *cur, *node;
-@@ -378,7 +378,6 @@ xenParseSxprDisks(virDomainDefPtr def,
+@@ -381,7 +381,6 @@ xenParseSxprDisks(virDomainDefPtr def,
/* There is a case without the uname to the CD-ROM device */
offset = strchr(dst, ':');
if (!offset ||
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org