From d2cc5633e2800e698c6a64554de7fa19d9627a24 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Wed, 20 Jul 2022 19:33:01 +0100 Subject: [PATCH] xen/arm: mm: Add more ASSERT() in {destroy, modify}_xen_mappings() Both destroy_xen_mappings() and modify_xen_mappings() will take in parameter a range [start, end[. Both end should be page aligned. Add extra ASSERT() to ensure start and end are page aligned. Take the opportunity to rename 'v' to 's' to be consistent with the other helper. Signed-off-by: Julien Grall Reviewed-by: Bertrand Marquis --- xen/arch/arm/mm.c | 10 +++++++--- xen/include/xen/mm.h | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index e59a4ce6d0..56fd084586 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -1368,14 +1368,18 @@ int populate_pt_range(unsigned long virt, unsigned long nr_mfns) return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE); } -int destroy_xen_mappings(unsigned long v, unsigned long e) +int destroy_xen_mappings(unsigned long s, unsigned long e) { - ASSERT(v <= e); - return xen_pt_update(v, INVALID_MFN, (e - v) >> PAGE_SHIFT, 0); + ASSERT(IS_ALIGNED(s, PAGE_SIZE)); + ASSERT(IS_ALIGNED(e, PAGE_SIZE)); + ASSERT(s <= e); + return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0); } int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags) { + ASSERT(IS_ALIGNED(s, PAGE_SIZE)); + ASSERT(IS_ALIGNED(e, PAGE_SIZE)); ASSERT(s <= e); return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags); } diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h index 3be754da92..6dee421bb8 100644 --- a/xen/include/xen/mm.h +++ b/xen/include/xen/mm.h @@ -101,7 +101,7 @@ int map_pages_to_xen( unsigned int flags); /* Alter the permissions of a range of Xen virtual address space. */ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags); -int destroy_xen_mappings(unsigned long v, unsigned long e); +int destroy_xen_mappings(unsigned long s, unsigned long e); /* Retrieve the MFN mapped by VA in Xen virtual address space. */ mfn_t xen_map_to_mfn(unsigned long va); -- 2.30.2