summaryrefslogtreecommitdiff
path: root/import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch')
-rw-r--r--import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
new file mode 100644
index 0000000000..05016a7a36
--- /dev/null
+++ b/import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
@@ -0,0 +1,36 @@
+commit 88bfbf90e35f1213f9967a97dee0b2039f9998a4
+Author: Bernd Kuhls <bernd.kuhls@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@t-online.de>
+ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+ Acked-by: Wei Liu <wei.liu2@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;