From c07959762e3d90bf43ef3bb0ef53e985a054f431 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 20 Jun 2017 16:58:35 +0200 Subject: [PATCH] gnttab: never create host mapping unless asked to We shouldn't create a host mapping unless asked to even in the case of mapping a granted MMIO page. In particular the mapping wouldn't be torn down when processing the matching unmap request. This is part of XSA-224. Signed-off-by: Jan Beulich master commit: 56f2ab5b970f1b18cf2019df4bf27db544cda6ea master date: 2017-06-20 14:46:01 +0200 --- xen/common/grant_table.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index b7bfd4d928..39ee480bd7 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -736,10 +736,13 @@ __gnttab_map_grant_ref( goto undo_out; } - rc = create_grant_host_mapping( - op->host_addr, frame, op->flags, cache_flags); - if ( rc != GNTST_okay ) - goto undo_out; + if ( op->flags & GNTMAP_host_map ) + { + rc = create_grant_host_mapping(op->host_addr, frame, op->flags, + cache_flags); + if ( rc != GNTST_okay ) + goto undo_out; + } } else if ( owner == rd || owner == dom_cow ) { -- 2.39.5