Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:Maintenance:114
xen.openSUSE_Evergreen_11.4
CVE-2012-4537-xsa22.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File CVE-2012-4537-xsa22.patch of Package xen.openSUSE_Evergreen_11.4
References: CVE-2012-4537 XSA-22 bnc#786517 x86/physmap: Prevent incorrect updates of m2p mappings In certain conditions, such as low memory, set_p2m_entry() can fail. Currently, the p2m and m2p tables will get out of sync because we still update the m2p table after the p2m update has failed. If that happens, subsequent guest-invoked memory operations can cause BUG()s and ASSERT()s to kill Xen. This is fixed by only updating the m2p table iff the p2m was successfully updated. This is a security problem, XSA-22 / CVE-2012-4537. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> --- /arch/x86/mm/p2m.c Wed Nov 14 11:37:55 2012 +0000 +++ b/xen/arch/x86/mm/p2m.c Wed Nov 14 11:40:51 2012 +0000 @@ -2207,7 +2207,10 @@ guest_physmap_add_entry(struct domain *d if ( mfn_valid(_mfn(mfn)) ) { if ( !set_p2m_entry(d, gfn, _mfn(mfn), page_order, t) ) + { rc = -EINVAL; + goto out; /* Failed to update p2m, bail without updating m2p. */ + } if ( !p2m_is_grant(t) ) { for ( i = 0; i < (1UL << page_order); i++ ) @@ -2228,6 +2231,7 @@ guest_physmap_add_entry(struct domain *d } } +out: audit_p2m(d); p2m_unlock(d->arch.p2m);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor