summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/xen/files/xen-4-CVE-2013-0154-XSA-37.patch')
-rw-r--r--app-emulation/xen/files/xen-4-CVE-2013-0154-XSA-37.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/app-emulation/xen/files/xen-4-CVE-2013-0154-XSA-37.patch b/app-emulation/xen/files/xen-4-CVE-2013-0154-XSA-37.patch
new file mode 100644
index 0000000..bb43acd
--- /dev/null
+++ b/app-emulation/xen/files/xen-4-CVE-2013-0154-XSA-37.patch
@@ -0,0 +1,23 @@
+x86: fix assertion in get_page_type()
+
+c/s 22998:e9fab50d7b61 (and immediately following ones) made it
+possible that __get_page_type() returns other than -EINVAL, in
+particular -EBUSY. Consequently, the assertion in get_page_type()
+should check for only the return values we absolutely don't expect to
+see there.
+
+This is XSA-37 / CVE-2013-0154.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+
+--- xen/arch/x86/mm.c
++++ xen/arch/x86/mm.c
+@@ -2586,7 +2586,7 @@ int get_page_type(struct page_info *page
+ int rc = __get_page_type(page, type, 0);
+ if ( likely(rc == 0) )
+ return 1;
+- ASSERT(rc == -EINVAL);
++ ASSERT(rc != -EINTR && rc != -EAGAIN);
+ return 0;
+ }
+