Thread (5 messages) 5 messages, 3 authors, 2026-01-13

Re: [EXTERNAL] Re: [PATCH] vhost: fix caching attributes of MMIO regions by setting them explicitly

From: Shiva Shankar Kommula <hidden>
Date: 2026-01-13 10:11:52
Also in: kvm, virtualization

________________________________________
From: Michael S. Tsirkin <mst@redhat.com>
Sent: Tuesday, January 13, 2026 13:00
To: Shiva Shankar Kommula
Cc: jasowang@redhat.com; virtualization@lists.linux.dev; eperezma@redhat.com; kvm@vger.kernel.org; netdev@vger.kernel.org; Jerin Jacob; Nithin Kumar Dabilpuram; Srujana Challa; dtatulea@nvidia.com; jgg@nvidia.com
Subject: [EXTERNAL] Re: [PATCH] vhost: fix caching attributes of MMIO regions by setting them explicitly

On Fri, Jan 02, 2026 at 12: 27: 03PM +0530, Kommula Shiva Shankar wrote: > Explicitly set non-cached caching attributes for MMIO regions. > Default write-back mode can cause CPU to cache device memory, > causing invalid reads and unpredictable
ZjQcmQRYFpfptBannerStart
Prioritize security for external emails:
Confirm sender and content safety before clicking links or opening attachments
<https://us-phishalarm-ewt.proofpoint.com/EWT/v1/CRVmXkqW!tc3Z1f8UYnX61G-8-Z36D0TwOyXGKE_ybqkwtAsNGONThDzce1-BzQFJIDlDn_iWLJpe2FHKyeofP3u77neSt706ScpI5Ec$>
Report Suspicious

ZjQcmQRYFpfptBannerEnd

On Fri, Jan 02, 2026 at 12:27:03PM +0530, Kommula Shiva Shankar wrote:
Explicitly set non-cached caching attributes for MMIO regions.
Default write-back mode can cause CPU to cache device memory,
causing invalid reads and unpredictable behavior.

Invalid read and write issues were observed on ARM64 when mapping the
notification area to userspace via mmap.
device memory in question is the VQ kick, yes?
So if it is cached, the kick can get delayed, but how
is this causing "invalid read and write issues"?
What is read/written exactly?
This is the VQ notification address. 
on ARM64, when memory mapped as write back, notification writes never reached the device.
Reads on the device side sees stale values. 
Signed-off-by: Kommula Shiva Shankar <redacted>
Acked-by: Jason Wang <redacted>
I also worry a bit about regressing on other hardware.
Cc nvidia guys.
quoted hunk ↗ jump to hunk
---
Originally sent to net-next, now redirected to vhost tree
per Jason Wang's suggestion.

 drivers/vhost/vdpa.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 05a481e4c385..b0179e8567ab 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -1527,6 +1527,7 @@ static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma)
      if (vma->vm_end - vma->vm_start != notify.size)
              return -ENOTSUPP;

+     vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
      vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP);
      vma->vm_ops = &vhost_vdpa_vm_ops;
      return 0;
--
2.48.1

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help