From c5bf1295b0da079249df5c6e2d7498a8ec336527 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 7 Sep 2021 09:37:50 +0200 Subject: [PATCH] gnttab: adjust unmap checking of dev_bus_addr There's no point checking ->dev_bus_addr when GNTMAP_device_map isn't set (and hence the field isn't going to be consumed). And if there is a mismatch, use the so far unused GNTST_bad_dev_addr error indicator - if not here, where else would this (so far unused) value be used? Signed-off-by: Jan Beulich Acked-by: Julien Grall --- xen/common/grant_table.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index da687acc61..df74e2d6a7 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -1450,9 +1450,9 @@ unmap_common( op->mfn = act->mfn; - if ( op->dev_bus_addr && + if ( op->dev_bus_addr && (flags & GNTMAP_device_map) && unlikely(op->dev_bus_addr != mfn_to_maddr(act->mfn)) ) - PIN_FAIL(act_release_out, GNTST_general_error, + PIN_FAIL(act_release_out, GNTST_bad_dev_addr, "Bus address doesn't match gntref (%"PRIx64" != %"PRIpaddr")\n", op->dev_bus_addr, mfn_to_maddr(act->mfn)); -- 2.30.2