summaryrefslogtreecommitdiff
path: root/import-layers/meta-virtualization/recipes-extended/xen/files/fix-libxc-xc_dom_arm-missing-initialization.patch
blob: 05016a7a36ad5d20e30a5dd372f2777baa911784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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;