[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [PATCH v11 02/14] arch/arm: unmap partially-mapped memory regions
- To: Arianna Avanzini <avanzini.arianna@xxxxxxxxx>, xen-devel@xxxxxxxxxxxxx
- From: Julien Grall <julien.grall@xxxxxxxxxx>
- Date: Wed, 27 Aug 2014 12:35:54 -0400
- Cc: julien.grall@xxxxxxxxxx, paolo.valente@xxxxxxxxxx, keir@xxxxxxx, stefano.stabellini@xxxxxxxxxxxxx, tim@xxxxxxx, dario.faggioli@xxxxxxxxxx, Ian.Jackson@xxxxxxxxxxxxx, Ian.Campbell@xxxxxxxxxxxxx, etrudeau@xxxxxxxxxxxx, JBeulich@xxxxxxxx, andrew.cooper3@xxxxxxxxxx, viktor.kleinik@xxxxxxxxxxxxxxx, andrii.tseglytskyi@xxxxxxxxxxxxxxx
- Delivery-date: Wed, 27 Aug 2014 16:38:52 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
Hi Arianna,
On 24/08/14 16:29, Arianna Avanzini wrote:
xen/arch/arm/p2m.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index b9129a0..0520f84 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -713,7 +713,7 @@ static int apply_p2m_changes(struct domain *d,
int rc, ret;
struct p2m_domain *p2m = &d->arch.p2m;
lpae_t *first = NULL, *second = NULL, *third = NULL;
- paddr_t addr;
+ paddr_t addr, orig_maddr = maddr;
unsigned long cur_first_page = ~0,
cur_first_offset = ~0,
cur_second_offset = ~0;
@@ -844,6 +844,10 @@ out:
if (third) unmap_domain_page(third);
if (second) unmap_domain_page(second);
if (first) unmap_domain_page(first);
+ if ( rc < 0 && ( op == INSERT || op == ALLOCATE ) )
+ apply_p2m_changes(d, REMOVE, start_gpaddr,
+ end_gpaddr, orig_maddr,
+ MATTR_DEV, p2m_invalid);
s/MATTR_DEV/mattr/
Also, with unmapping the whole range you may hit your warning added in
the previous patch in some corner case.
It could happen when the end of range already contains another mapping.
But, I don't think it happen often. Maybe we can live with it for now?
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|