]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
accel/tcg: Fix atomic_mmu_lookup for reads
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 5 May 2023 20:40:49 +0000 (21:40 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Thu, 18 May 2023 18:09:59 +0000 (21:09 +0300)
A copy-paste bug had us looking at the victim cache for writes.

Cc: qemu-stable@nongnu.org
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Fixes: 08dff435e2 ("tcg: Probe the proper permissions for atomic ops")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230505204049.352469-1-richard.henderson@linaro.org>
(cherry picked from commit 8c313254e61ed47a1bf4a2db714b25cdd94fbcce)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
accel/tcg/cputlb.c

index 6f1c00682b9ae55f4b091a834cd4d7405cde8b15..1160aec626784a9278b496e6b5af90a041f5ba48 100644 (file)
@@ -1817,7 +1817,7 @@ static void *atomic_mmu_lookup(CPUArchState *env, target_ulong addr,
     } else /* if (prot & PAGE_READ) */ {
         tlb_addr = tlbe->addr_read;
         if (!tlb_hit(tlb_addr, addr)) {
-            if (!VICTIM_TLB_HIT(addr_write, addr)) {
+            if (!VICTIM_TLB_HIT(addr_read, addr)) {
                 tlb_fill(env_cpu(env), addr, size,
                          MMU_DATA_LOAD, mmu_idx, retaddr);
                 index = tlb_index(env, mmu_idx, addr);