]> xenbits.xensource.com Git - people/aperard/xen-arm.git/commitdiff
x86: fix assertion in get_page_type()
authorJan Beulich <jbeulich@suse.com>
Mon, 7 Jan 2013 13:20:26 +0000 (14:20 +0100)
committerJan Beulich <jbeulich@suse.com>
Mon, 7 Jan 2013 13:20:26 +0000 (14:20 +0100)
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

index da34570587305b65b155a8b4952f4a1131dc2233..81489ec2d5121b72396f82eaddf84c754a26d710 100644 (file)
@@ -2318,7 +2318,7 @@ int get_page_type(struct page_info *page, unsigned long type)
     int rc = __get_page_type(page, type, 0);
     if ( likely(rc == 0) )
         return 1;
-    ASSERT(rc == -EINVAL);
+    ASSERT(rc != -EINTR && rc != -EAGAIN);
     return 0;
 }