File valgrind.fix-xen_sysctl_numainfo-handling.patch of Package valgrind

From: Olaf Hering <olaf@aepfle.de>
Date: Fri, 16 Nov 2018 17:20:56 +0100
Subject: fix xen_sysctl_numainfo handling

The OUT value node_to_node_distance is a 2D array, not a 1D array

bz#390553
---
 coregrind/m_syswrap/syswrap-xen.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/coregrind/m_syswrap/syswrap-xen.c
+++ b/coregrind/m_syswrap/syswrap-xen.c
@@ -1850,25 +1850,26 @@ POST(sysctl)
       if (sysctl->u.topologyinfo.cpu_to_node.p)
          POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_node.p,
                      sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index);
       break;
 
    case VKI_XEN_SYSCTL_numainfo:
       POST_XEN_SYSCTL_WRITE(numainfo, max_node_index);
       POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_memsize.p,
                      sizeof(uint64_t) * sysctl->u.numainfo.max_node_index);
       POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_memfree.p,
                      sizeof(uint64_t) * sysctl->u.numainfo.max_node_index);
       POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_node_distance.p,
-                     sizeof(uint32_t) * sysctl->u.numainfo.max_node_index);
+                     sizeof(uint32_t) *
+                     (sysctl->u.numainfo.max_node_index * sysctl->u.numainfo.max_node_index));
       break;
 
    /* No outputs */
    case VKI_XEN_SYSCTL_debug_keys:
        break;
    }
 #undef POST_XEN_SYSCTL_WRITE
 #undef __POST_XEN_SYSCTL_WRITE
 }
 
 POST(domctl){
    struct vki_xen_domctl *domctl = (struct vki_xen_domctl *)ARG1;
openSUSE Build Service is sponsored by