summaryrefslogtreecommitdiff
path: root/drivers/vhost
diff options
context:
space:
mode:
authorKommula Shiva Shankar <kshankar@marvell.com>2026-01-02 12:27:03 +0530
committerMichael S. Tsirkin <mst@redhat.com>2026-02-04 14:13:44 -0500
commit5145b277309f3818e2db507f525d19ac3b910922 (patch)
treedb4c9d3ce2ccd9897e33267d0534c8f87231a88c /drivers/vhost
parent503ef41e88080fb2d2399173e34d26e59567fb5e (diff)
downloadlinux-5145b277309f3818e2db507f525d19ac3b910922.tar.gz
linux-5145b277309f3818e2db507f525d19ac3b910922.tar.bz2
linux-5145b277309f3818e2db507f525d19ac3b910922.zip
vhost: fix caching attributes of MMIO regions by setting them explicitly
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. Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com> Acked-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20260102065703.656255-1-kshankar@marvell.com>
Diffstat (limited to 'drivers/vhost')
-rw-r--r--drivers/vhost/vdpa.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 3f0184d42075..cdee8f320dca 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -1529,6 +1529,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;