summaryrefslogtreecommitdiff
path: root/sysutils/xenkernel41/patches/patch-CVE-2014-4021
blob: e5c196eaf94f78298d4d258e3dcc8e6fb48892a3 (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
$NetBSD: patch-CVE-2014-4021,v 1.1 2014/06/18 13:47:08 drochner Exp $

http://lists.xenproject.org/archives/html/xen-devel/2014-06/msg02095.html

--- xen/common/page_alloc.c.orig	2013-09-10 06:42:18.000000000 +0000
+++ xen/common/page_alloc.c	2014-06-18 10:36:33.000000000 +0000
@@ -1123,7 +1123,10 @@ void free_xenheap_pages(void *v, unsigne
     pg = virt_to_page(v);
 
     for ( i = 0; i < (1u << order); i++ )
+    {
+        scrub_one_page(&pg[i]);
         pg[i].count_info &= ~PGC_xen_heap;
+    }
 
     free_heap_pages(pg, order);
 }
@@ -1290,6 +1293,8 @@ void free_domheap_pages(struct page_info
     else
     {
         /* Freeing anonymous domain-heap pages. */
+        for ( i = 0; i < (1 << order); i++ )
+            scrub_one_page(&pg[i]);
         free_heap_pages(pg, order);
         drop_dom_ref = 0;
     }