From nobody Mon Feb 9 07:02:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1746556046; cv=none; d=zohomail.com; s=zohoarc; b=G0A3C12c4lBBKhCyIPYym2ZBdMPoFS4oihKzGM4nBuLCVTz+w6FDIOV2JT0aMKgamkbRhpgxv3T66x971hwmDyAHEv5Z07cwwg9k0awrTjsEbezXtcyJL1d+Vr/4wvjlYcC7sj/27dIbgl3GQAIpMi6EkuDccjuDVf3xS6sdRiU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746556046; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ulkQy97n87PM4Cu6oVIfWw2jKyekJRa0XlxEPEhm5IE=; b=JhHPzMjxiPbf//4+DRoH4A89x+qQDyu3bYnn0SDoK7dAz0OjDEwXEiHWsYBxX9dl4NV804+bvWKkM1zXDqZYtkV5GWAUZ1iaAeL4HTiGS+U1gYveVXH52LUlabCCHd2v9a75shT2qT9VsJxszsYUtCNJVzgYfE9+FyQdkdL+dkI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1746556046487509.7833578457171; Tue, 6 May 2025 11:27:26 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.977940.1364834 (Exim 4.92) (envelope-from ) id 1uCN0R-0002gw-7z; Tue, 06 May 2025 18:27:03 +0000 Received: by outflank-mailman (output) from mailman id 977940.1364834; Tue, 06 May 2025 18:27:03 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uCN0R-0002gp-3q; Tue, 06 May 2025 18:27:03 +0000 Received: by outflank-mailman (input) for mailman id 977940; Tue, 06 May 2025 18:27:01 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uCN0P-0002gj-Ci for xen-devel@lists.xenproject.org; Tue, 06 May 2025 18:27:01 +0000 Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [2a00:1450:4864:20::12a]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id b3014f70-2aa7-11f0-9eb4-5ba50f476ded; Tue, 06 May 2025 20:27:00 +0200 (CEST) Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-549963b5551so6790988e87.2 for ; Tue, 06 May 2025 11:27:00 -0700 (PDT) Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ea94ee173sm2093370e87.127.2025.05.06.11.26.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 11:26:57 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b3014f70-2aa7-11f0-9eb4-5ba50f476ded DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746556019; x=1747160819; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ulkQy97n87PM4Cu6oVIfWw2jKyekJRa0XlxEPEhm5IE=; b=NcKQrG9o3xfpAHbzg3YPYbbtgPJ0OHUJBu1sluaNzoXLYTKgsllZSBUigZqCU24D4z fU4vcyaJObOCaAmCSSi7q/0iBjVpjwQFqcBTI4FsHEiipkfcRN6z588hP4mO1uFM+rjs WdybpgL4S1kzNpkonR9j/BCVoXAdb3zp67JHYn4twLmm/UxZxSg42jgwSRUesr8era3I 79LnB6dmlEwm3cA+Oqo12Bf3jRJrVJV6515Yy5/yukFzD06ImDFLv+ydyCakP4M/5u+3 1jUJBQSVsFYwnOfh+ODllqIatiA7/sqf+x1JmJcb214ZMKsWlS0Ptv+v6jCICntPS2aX 4qug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746556019; x=1747160819; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ulkQy97n87PM4Cu6oVIfWw2jKyekJRa0XlxEPEhm5IE=; b=HWFCl3GAPw/IFQJRo+mo0VpS0JINGsRmqeVk7TGA6QPBxCM9twBGaEWoALKsNVX8vC 8yXsrYEt7+YZ5UlYOEcbqkFFPk+4+RpXTa+hzXPaFnEH8/c9x8BQc9s88DvzDCzXU0WK i+TdxO6/q9+KXPm9oFAsOeg9Eoh5nZQIVDxOFFMW2ZyalkNxsFjFZtPCNQSXYslSbdV0 5PHlXq2P1zevf04HUGVJOuMsjRwJW6awpoqHMRiTmdJAWB8P3ALi3cYGjqevK7BLreQT +yZtprkkepTY9C5IUAghoFGJo/rHdO54LTi8OIpujt2SW7EOtlN3D0Z14Zycw9eVTbXe C/SA== X-Forwarded-Encrypted: i=1; AJvYcCVLwsrYvSdjutD9XjxSlMO67QGFGJo04JuJ4mm8yCuTwi9BDX9iFYf6Cf6LD4GycgMrQbNEM3OMR9c=@lists.xenproject.org X-Gm-Message-State: AOJu0Yxswo14l73huCEGrZRRvQYHdfbMDeznumK81tmEo0mn9rFdnzHL +oCUCkRjV24t+tVfLW09Bi+dIGFKEA3UmApu208ZipZ9ni43iZfC X-Gm-Gg: ASbGnctxtQrtITDM7be510ONn1YcLYAT1vU0NmLKPCqzxC6X1WcHCtSERt1x24+VCid vb5vqxw9g0/UO+ps2yRUEUAAmLci1cQTES+X1zVRdCCKENVHOV6QXgDM0jtHgAk1q4uT6VODWGq Y/bcd/BKmD1XdinpVUg9Ik5rDvJueJ7IrmD0dlLZQvD35Fg21Gp2+88bzeZrxUylLSdENuXRDJO vo4NEw/nxydHxa9UicDsuMc/cE5DGHmJqqrMH3anV50N0WlHG2BUCS/8X02qhCUGQgxzzpYT6Dy rRxVwP3VlzqmMRup0pnPZl91Jc27pzE21LAMww8jR4EgXt5VQKNKohTwv22VQy50VDrZ/yF5bDw wZGi597Itzx/+ X-Google-Smtp-Source: AGHT+IHzaJIdUGZqVsMqaaLKD2N5KnA7xk6kTtRN63mmTk/vnTIZ/huHbnC5q5MQJQGLHrEoa/muAg== X-Received: by 2002:a05:6512:20d8:b0:54b:117b:952e with SMTP id 2adb3069b0e04-54fb95ba664mr159760e87.55.1746556019187; Tue, 06 May 2025 11:26:59 -0700 (PDT) From: "Edgar E. Iglesias" To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, paul@xen.org, alex.pentagrid@gmail.com, peter.maydell@linaro.org, edgar.iglesias@amd.com, xen-devel@lists.xenproject.org, "Edgar E. Iglesias" Subject: [PULL v1 1/2] xen: mapcache: Fix finding matching entry Date: Tue, 6 May 2025 20:26:46 +0200 Message-ID: <20250506182647.302961-2-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250506182647.302961-1-edgar.iglesias@gmail.com> References: <20250506182647.302961-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1746556047359019000 Content-Type: text/plain; charset="utf-8" From: Aleksandr Partanen If we have request without lock and hit unlocked or invalid entry during the search, we remap it immediately, even if we have matching entry in next entries in bucket. This leads to duplication of mappings of the same size, and to possibility of selecting the wrong element during invalidation and underflow it's entry->lock counter Signed-off-by: Aleksandr Partanen Reviewed-by: Stefano Stabellini Reviewed-by: Edgar E. Iglesias Signed-off-by: Edgar E. Iglesias --- hw/xen/xen-mapcache.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c index 698b5c53ed..2c8f861fdb 100644 --- a/hw/xen/xen-mapcache.c +++ b/hw/xen/xen-mapcache.c @@ -376,12 +376,12 @@ tryagain: =20 entry =3D &mc->entry[address_index % mc->nr_buckets]; =20 - while (entry && (lock || entry->lock) && entry->vaddr_base && - (entry->paddr_index !=3D address_index || entry->size !=3D cac= he_size || + while (entry && (!entry->vaddr_base || + entry->paddr_index !=3D address_index || entry->size !=3D cach= e_size || !test_bits(address_offset >> XC_PAGE_SHIFT, test_bit_size >> XC_PAGE_SHIFT, entry->valid_mapping))) { - if (!free_entry && !entry->lock) { + if (!free_entry && (!entry->lock || !entry->vaddr_base)) { free_entry =3D entry; free_pentry =3D pentry; } --=20 2.43.0 From nobody Mon Feb 9 07:02:53 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1746556057; cv=none; d=zohomail.com; s=zohoarc; b=ZDlYijgUv7HWYibyWKjEbk9Ym68/+xeoAdn0vRTCtIkn5PtKGoHbz9fkVkadbIRjWgwIRX6WwEamrOVd7XAAK5Wz2bWlByha0HBwv7NeE7fCKvKzdxbIx/WQkblO/W+esJAJJFJqWB6eNsxFvmxWD6WX6GH/NYvpOEJXOYSN9yc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1746556057; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zpP4TBaydimBJ+yCxRqJxX0SmD5odScGLmy0sP+rMAs=; b=nd7udIT33IhZhi5AIScwCfuUKW1c/AX3HBjj5xVJmHcNZNfQ22QfLpQY7F39n9qx8AdFgntnNY0T8hE8euLHMEK+uAbjnTlfeC7zJ3ZrOIhaeWF0juVNGvQ4jQD4m4OGERkyWZHZLnBgBn4BuynR1CNiMnImZ2vm/tTi3ycEtVo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1746556057116383.24075360055576; Tue, 6 May 2025 11:27:37 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.977941.1364843 (Exim 4.92) (envelope-from ) id 1uCN0U-0002ui-ER; Tue, 06 May 2025 18:27:06 +0000 Received: by outflank-mailman (output) from mailman id 977941.1364843; Tue, 06 May 2025 18:27:06 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uCN0U-0002ub-BE; Tue, 06 May 2025 18:27:06 +0000 Received: by outflank-mailman (input) for mailman id 977941; Tue, 06 May 2025 18:27:06 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uCN0U-0002uP-1z for xen-devel@lists.xenproject.org; Tue, 06 May 2025 18:27:06 +0000 Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com [2a00:1450:4864:20::235]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id b435cadc-2aa7-11f0-9ffb-bf95429c2676; Tue, 06 May 2025 20:27:02 +0200 (CEST) Received: by mail-lj1-x235.google.com with SMTP id 38308e7fff4ca-30bfb6ab47cso53911181fa.3 for ; Tue, 06 May 2025 11:27:02 -0700 (PDT) Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-3202a89ef11sm20952331fa.81.2025.05.06.11.26.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 May 2025 11:26:59 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b435cadc-2aa7-11f0-9ffb-bf95429c2676 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746556021; x=1747160821; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zpP4TBaydimBJ+yCxRqJxX0SmD5odScGLmy0sP+rMAs=; b=Ag7+s0ebFEaVMcK5P8qDlVyz8AAvT0By8pM04tho9fcqwOrrNWhwBji+VmoVs34nxy /uDyJeDh6v26QYRYLfWqeXaNx+eKbvqm8NC1+6apkOzd9Xlqb0JX4cdThTDrDEZ2ny/g b1JtcLu4hxln83ltTClQqw49oaiz64BolfADFeRb9vfzbOXGpo8mjW6wrp9t1ja4ey00 BOxs4CbUnnhMoQSxAe5dNBExrxqfL9Ifpva6gB90AHaMLZgd320mvODRvc48D4dyFanb UsvZgOKNqJZe2dWb5mql4zTFuf5q+P2raX0YevnjHiTtcA+/E9lrOGc9RmA1HT9enxju 2Ipg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746556021; x=1747160821; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zpP4TBaydimBJ+yCxRqJxX0SmD5odScGLmy0sP+rMAs=; b=MhBAnhFqC7EK3sys+Cb7IN9nBESHchjfWNhYVrIGCUILL2K58G+isN7X1iJSoGYRJC BhY19ODBOxN6mVVF8owtR0eoBnQtq8UKL+PRkAni7U6Lx7CkZ1hFj+yPzRqYaSbJmqQE CkygsRhlIXQIIqOGAInr9iqM7WgjREoRoU89Qk++0zrb96TlSy1rQk/X76YpUfN0Xtdz bHZ9JfCd/7ZiaUwk00cPk5CJy7gk80mu8F9cr+SmBsmmLeAbp6EIj3DR++7PUstILPBx EeXFK2dz32QbnQdt3+tbD/GJTq6ZR+n2Sh0LyDdSc3NTxMgdxuuR7wYEzyBQt6frjbQh o0Lg== X-Forwarded-Encrypted: i=1; AJvYcCVGN99Hac3kg8pyb3M5t4D9mp90Nq4EcFrOsbMKAjpTya/ZFmHSbKStmkznuyysZogjKMP4hql0x6U=@lists.xenproject.org X-Gm-Message-State: AOJu0Yx/LHK1idLRSmxYZldWDHExh8HMVG3zwqPCllkOqwlg4un9c/e0 i5d5T7T3UYGAdEXqEYZsBuV/ZqPRUXNQzEGEpSXOhQ92VzYLVZOz X-Gm-Gg: ASbGncs/598SLGG5UkAu+kzLn/0HICdL8n4B6SVJOER3Uq11yGfSdDfTgDSq/T98uS+ 5cNC+F4IC8+Pt2C0QAHN3ANf3T5A6xQngdfwICKrjdL18fh62GVFGXHeaxx+x0su4ZaIy5Kk4Iu PH/QADg0wYQg7gg8EPGqYFNzoMBM6sk1I8TCx9DWb9W6r1AIc2U131zrAZ59kxN+nrw25jevGGS UPj3TFrnkHJ9ha3sTniCiIb1hteliFdNBF8+P1oDHvxIJ4zDUTVXdHSND80BQdmeaaLiFwtKXEw tZigkVMcxT3BJUtudPtoFaooLmWkBaycjec5Jyk9iTJjqJ1rn9zwvEm0CDEcqeaQV15QFclzS0e IaJXxQ0nxrmZp7Rpd34Vm2zA= X-Google-Smtp-Source: AGHT+IHBa9ho1ThyDkNxpwI0/3LxpQeg41uCA79/UXOH2n/099VZv3LAbpb5LyXBZ2fI612cdcWfAw== X-Received: by 2002:a2e:be1a:0:b0:30b:ed5a:6f3c with SMTP id 38308e7fff4ca-326ad19a978mr314741fa.10.1746556021307; Tue, 06 May 2025 11:27:01 -0700 (PDT) From: "Edgar E. Iglesias" To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, paul@xen.org, alex.pentagrid@gmail.com, peter.maydell@linaro.org, edgar.iglesias@amd.com, xen-devel@lists.xenproject.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , "Edgar E. Iglesias" Subject: [PULL v1 2/2] xen: mapcache: Split mapcache_grants by ro and rw Date: Tue, 6 May 2025 20:26:47 +0200 Message-ID: <20250506182647.302961-3-edgar.iglesias@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250506182647.302961-1-edgar.iglesias@gmail.com> References: <20250506182647.302961-1-edgar.iglesias@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1746556058470116600 From: "Edgar E. Iglesias" Today, we don't track write-abiliy in the cache, if a user requests a readable mapping followed by a writeable mapping on the same page, the second lookup will incorrectly hit the readable entry. Split mapcache_grants by ro and rw access. Grants will now have separate ways in the cache depending on writeability. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefano Stabellini Signed-off-by: Edgar E. Iglesias --- hw/xen/xen-mapcache.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c index 2c8f861fdb..e31d379702 100644 --- a/hw/xen/xen-mapcache.c +++ b/hw/xen/xen-mapcache.c @@ -75,7 +75,8 @@ typedef struct MapCache { } MapCache; =20 static MapCache *mapcache; -static MapCache *mapcache_grants; +static MapCache *mapcache_grants_ro; +static MapCache *mapcache_grants_rw; static xengnttab_handle *xen_region_gnttabdev; =20 static inline void mapcache_lock(MapCache *mc) @@ -176,9 +177,12 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void= *opaque) * Grant mappings must use XC_PAGE_SIZE granularity since we can't * map anything beyond the number of pages granted to us. */ - mapcache_grants =3D xen_map_cache_init_single(f, opaque, - XC_PAGE_SHIFT, - max_mcache_size); + mapcache_grants_ro =3D xen_map_cache_init_single(f, opaque, + XC_PAGE_SHIFT, + max_mcache_size); + mapcache_grants_rw =3D xen_map_cache_init_single(f, opaque, + XC_PAGE_SHIFT, + max_mcache_size); =20 setrlimit(RLIMIT_AS, &rlimit_as); } @@ -456,9 +460,13 @@ uint8_t *xen_map_cache(MemoryRegion *mr, bool is_write) { bool grant =3D xen_mr_is_grants(mr); - MapCache *mc =3D grant ? mapcache_grants : mapcache; + MapCache *mc =3D mapcache; uint8_t *p; =20 + if (grant) { + mc =3D is_write ? mapcache_grants_rw : mapcache_grants_ro; + } + if (grant && !lock) { /* * Grants are only supported via address_space_map(). Anything @@ -523,7 +531,10 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) =20 addr =3D xen_ram_addr_from_mapcache_single(mapcache, ptr); if (addr =3D=3D RAM_ADDR_INVALID) { - addr =3D xen_ram_addr_from_mapcache_single(mapcache_grants, ptr); + addr =3D xen_ram_addr_from_mapcache_single(mapcache_grants_ro, ptr= ); + } + if (addr =3D=3D RAM_ADDR_INVALID) { + addr =3D xen_ram_addr_from_mapcache_single(mapcache_grants_rw, ptr= ); } =20 return addr; @@ -626,7 +637,8 @@ static void xen_invalidate_map_cache_entry_single(MapCa= che *mc, uint8_t *buffer) static void xen_invalidate_map_cache_entry_all(uint8_t *buffer) { xen_invalidate_map_cache_entry_single(mapcache, buffer); - xen_invalidate_map_cache_entry_single(mapcache_grants, buffer); + xen_invalidate_map_cache_entry_single(mapcache_grants_ro, buffer); + xen_invalidate_map_cache_entry_single(mapcache_grants_rw, buffer); } =20 static void xen_invalidate_map_cache_entry_bh(void *opaque) --=20 2.43.0