summaryrefslogtreecommitdiff
path: root/sysutils/xenkernel41/patches/patch-CVE-2015-7969
blob: de19b6132499a45e504df64079a52e94a93461a3 (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
$NetBSD: patch-CVE-2015-7969,v 1.1.2.2 2015/11/04 19:55:44 bsiegert Exp $

Patch for CVE-2015-7869 aka XSA-149 + XSA-151 based on
http://xenbits.xenproject.org/xsa/xsa149.patch
http://xenbits.xenproject.org/xsa/xsa151.patch

--- xen/common/domain.c.orig	2013-09-10 08:42:18.000000000 +0200
+++ xen/common/domain.c	2015-10-29 20:44:06.000000000 +0100
@@ -671,6 +671,7 @@
     xfree(d->pirq_to_evtchn);
 
     xsm_free_security_domain(d);
+    xfree(d->vcpu);
     free_domain_struct(d);
 
     send_guest_global_virq(dom0, VIRQ_DOM_EXC);

--- xen/common/xenoprof.c.orig
+++ xen/common/xenoprof.c
@@ -239,6 +239,7 @@ static int alloc_xenoprof_struct(
     d->xenoprof->rawbuf = alloc_xenheap_pages(get_order_from_pages(npages), 0);
     if ( d->xenoprof->rawbuf == NULL )
     {
+        xfree(d->xenoprof->vcpu);
         xfree(d->xenoprof);
         d->xenoprof = NULL;
         return -ENOMEM;
@@ -286,6 +287,7 @@ void free_xenoprof_pages(struct domain *
         free_xenheap_pages(x->rawbuf, order);
     }
 
+    xfree(x->vcpu);
     xfree(x);
     d->xenoprof = NULL;
 }