Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
xen.5852
57dc109a-change-modify-destroy-xen-mappings-to-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 57dc109a-change-modify-destroy-xen-mappings-to-return-error.patch of Package xen.5852
# Commit 3eb51dda7106cbee5ff52a976c1ed842744e09a4 # Date 2016-09-16 11:32:42 -0400 # Author Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> # Committer Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> arm/x86: change [modify,destroy]_xen_mappings to return error The implementation on x86 always returns zero, but other platforms may return error values. Reviewed-by: Julien Grall <julien.grall@arm.com> [arm bits] Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> [x86 bits] Suggested-by: Julien Grall <julien.grall@arm.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -930,9 +930,9 @@ int populate_pt_range(unsigned long virt return create_xen_entries(RESERVE, virt, mfn, nr_mfns, 0); } -void destroy_xen_mappings(unsigned long v, unsigned long e) +int destroy_xen_mappings(unsigned long v, unsigned long e) { - create_xen_entries(REMOVE, v, 0, (e - v) >> PAGE_SHIFT, 0); + return create_xen_entries(REMOVE, v, 0, (e - v) >> PAGE_SHIFT, 0); } enum mg { mg_clear, mg_ro, mg_rw, mg_rx }; --- a/xen/arch/x86/livepatch.c +++ b/xen/arch/x86/livepatch.c @@ -222,9 +222,7 @@ int arch_livepatch_secure(const void *va else flag = PAGE_HYPERVISOR_RO; - modify_xen_mappings(start, start + pages * PAGE_SIZE, flag); - - return 0; + return modify_xen_mappings(start, start + pages * PAGE_SIZE, flag); } void __init arch_livepatch_init(void) --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -5994,7 +5994,7 @@ int populate_pt_range(unsigned long virt * * It is an error to call with present flags over an unpopulated range. */ -void modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf) +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf) { bool_t locking = system_state > SYS_STATE_boot; l2_pgentry_t *pl2e; @@ -6169,13 +6169,14 @@ void modify_xen_mappings(unsigned long s flush_area(NULL, FLUSH_TLB_GLOBAL); #undef FLAGS_MASK + return 0; } #undef flush_area -void destroy_xen_mappings(unsigned long s, unsigned long e) +int destroy_xen_mappings(unsigned long s, unsigned long e) { - modify_xen_mappings(s, e, _PAGE_NONE); + return modify_xen_mappings(s, e, _PAGE_NONE); } void __set_fixmap( --- a/xen/include/xen/mm.h +++ b/xen/include/xen/mm.h @@ -105,8 +105,8 @@ int map_pages_to_xen( unsigned long nr_mfns, unsigned int flags); /* Alter the permissions of a range of Xen virtual address space. */ -void modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags); -void destroy_xen_mappings(unsigned long v, unsigned long e); +int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags); +int destroy_xen_mappings(unsigned long v, unsigned long e); /* * Create only non-leaf page table entries for the * page range in Xen virtual address space.
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