[meta-virtualization] [PATCH] xen: patch to fix ARM libxc missing variable init
christopher.w.clark at gmail.com
christopher.w.clark at gmail.com
Sun Sep 17 18:22:33 PDT 2017
From: Christopher Clark <christopher.w.clark at gmail.com>
Fix Xen 4.9.0 build error on ARM architecture with gcc 7:
Import upstream Xen patch 88bfbf90e35f1213f9967a97dee0b2039f9998a4
Error was:
xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
Signed-off-by: Christopher Clark <christopher.clark6 at baesystems.com>
---
This patch has been requested for inclusion in the upstream 4.9 branch
and later Xen 4.9 releases.
Please use my gmail address for any correspondence.
...x-libxc-xc_dom_arm-missing-initialization.patch | 36 ++++++++++++++++++++++
recipes-extended/xen/xen_4.9.0.bb | 2 ++
2 files changed, 38 insertions(+)
create mode 100644 recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
diff --git a/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch b/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
new file mode 100644
index 0000000..05016a7
--- /dev/null
+++ b/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
@@ -0,0 +1,36 @@
+commit 88bfbf90e35f1213f9967a97dee0b2039f9998a4
+Author: Bernd Kuhls <bernd.kuhls at t-online.de>
+Date: Sat Aug 19 16:21:42 2017 +0200
+
+ tools/libxc/xc_dom_arm: add missing variable initialization
+
+ The variable domctl.u.address_size.size may remain uninitialized if
+ guest_type is not one of xen-3.0-aarch64 or xen-3.0-armv7l. And the
+ code precisely checks if this variable is still 0 to decide if the
+ guest type is supported or not.
+
+ This fixes the following build failure with gcc 7.x:
+
+ xc_dom_arm.c:229:31: error: 'domctl.u.address_size.size' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+ if ( domctl.u.address_size.size == 0 )
+
+ Patch originally taken from
+ https://www.mail-archive.com/xen-devel@lists.xen.org/msg109313.html.
+
+ Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>
+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+ Acked-by: Wei Liu <wei.liu2 at citrix.com>
+
+diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c
+index e7d4bd0..e669fb0 100644
+--- a/tools/libxc/xc_dom_arm.c
++++ b/tools/libxc/xc_dom_arm.c
+@@ -223,6 +223,8 @@ static int set_mode(xc_interface *xch, domid_t domid, char *guest_type)
+
+ domctl.domain = domid;
+ domctl.cmd = XEN_DOMCTL_set_address_size;
++ domctl.u.address_size.size = 0;
++
+ for ( i = 0; i < ARRAY_SIZE(types); i++ )
+ if ( !strcmp(types[i].guest, guest_type) )
+ domctl.u.address_size.size = types[i].size;
diff --git a/recipes-extended/xen/xen_4.9.0.bb b/recipes-extended/xen/xen_4.9.0.bb
index 0b20936..8e9c802 100644
--- a/recipes-extended/xen/xen_4.9.0.bb
+++ b/recipes-extended/xen/xen_4.9.0.bb
@@ -1,7 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
require xen.inc
SRC_URI = " \
https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz \
+ file://fix-libxc-xc_dom_arm-missing-initialization.patch \
"
SRC_URI[md5sum] = "f0a753637630f982dfbdb64121fd71e1"
--
2.7.4
More information about the meta-virtualization
mailing list