From: Jan Beulich Date: Mon, 7 Jan 2013 13:20:26 +0000 (+0100) Subject: x86: fix assertion in get_page_type() X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8bb51a72e2782395bdca456c54e3b0c64f74714c;p=people%2Faperard%2Fxen-arm.git 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 --- 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; }