[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] gnttab: adjust unmap checking of dev_bus_addr



commit c5bf1295b0da079249df5c6e2d7498a8ec336527
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue Sep 7 09:37:50 2021 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Sep 7 09:37:50 2021 +0200

    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 <jbeulich@xxxxxxxx>
    Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
---
 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));
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.