diff options
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.patch | 36 |
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; |