aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/mm.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-01-07 14:20:26 +0100
committerJan Beulich <jbeulich@suse.com>2013-01-07 14:20:26 +0100
commit8bb51a72e2782395bdca456c54e3b0c64f74714c (patch)
treedde806f8145a30ca15d5a027bc8415b6eb621d93 /xen/arch/x86/mm.c
parent1e86302d8c2ea279fee66ee7c2368258426ef876 (diff)
downloadxen-8bb51a72e2782395bdca456c54e3b0c64f74714c.tar.gz
xen-8bb51a72e2782395bdca456c54e3b0c64f74714c.tar.bz2
xen-8bb51a72e2782395bdca456c54e3b0c64f74714c.zip
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>
Diffstat (limited to 'xen/arch/x86/mm.c')
-rw-r--r--xen/arch/x86/mm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index da34570587..81489ec2d5 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -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;
}