References: CVE-2013-0154 XSA-37 bnc#797031 # HG changeset patch # User Jan Beulich # Date 1357564826 -3600 # Node ID e1facbde56ff4e5e85f9a4935abc99eb24367cd0 # Parent 8e942f2f3b45edc5bb1f7a6e05de288342426f0d 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 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2603,7 +2603,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; }