[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