OSDN Git Service

memory: fix flatview_access_valid RCU read lock/unlock imbalance
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 7 Mar 2018 13:02:38 +0000 (14:02 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 9 Mar 2018 15:55:20 +0000 (15:55 +0000)
Fixes: 11e732a5ed46903f997985bed4c3767ca28a7eb6
Reported-by: Cornelia Huck <cohuck@redhat.com>
Reported-by: luigi burdo <intermediadc@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Cornelia Huck <cohuck@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-id: 20180307130238.19358-1-pbonzini@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
exec.c

diff --git a/exec.c b/exec.c
index 604f03c..a9181e6 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -3393,7 +3393,6 @@ static bool flatview_access_valid(FlatView *fv, hwaddr addr, int len,
         if (!memory_access_is_direct(mr, is_write)) {
             l = memory_access_size(mr, l, addr);
             if (!memory_region_access_valid(mr, xlat, l, is_write)) {
-                rcu_read_unlock();
                 return false;
             }
         }