diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-01-07 14:20:26 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-01-07 14:20:26 +0100 |
commit | 8bb51a72e2782395bdca456c54e3b0c64f74714c (patch) | |
tree | dde806f8145a30ca15d5a027bc8415b6eb621d93 /xen/arch/x86/mm.c | |
parent | 1e86302d8c2ea279fee66ee7c2368258426ef876 (diff) | |
download | xen-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.c | 2 |
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; } |