Re: [PATCH vhost v13 04/12] virtio_ring: support add premapped buf
From: Alexander Potapenko <glider@google.com>
Date: 2024-06-06 08:26:44
Also in:
bpf, virtualization
From: Alexander Potapenko <glider@google.com>
Date: 2024-06-06 08:26:44
Also in:
bpf, virtualization
Could you try this?
(resending without HTML, sorry for inconvenience). Hi Xuan, What kernel revision does this patch apply to? I tried it against v6.10-rc2, and only the first hunk applied. However this seems to fix the problem, at least the kernel boots without warnings now.
Thanks.diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c index 37c9c5b55864..cb280b66c7a2 100644 --- a/drivers/virtio/virtio_ring.c +++ b/drivers/virtio/virtio_ring.c@@ -3119,8 +3119,10 @@ dma_addr_t virtqueue_dma_map_single_attrs(struct virtqueue *_vq, void *ptr, { struct vring_virtqueue *vq = to_vvq(_vq); - if (!vq->use_dma_api) + if (!vq->use_dma_api) { + kmsan_handle_dma(virt_to_page(ptr), offset_in_page(ptr), size, dir); return (dma_addr_t)virt_to_phys(ptr); + } return dma_map_single_attrs(vring_dma_dev(vq), ptr, size, dir, attrs); }@@ -3171,8 +3173,10 @@ dma_addr_t virtqueue_dma_map_page_attrs(struct virtqueue *_vq, struct page *page { struct vring_virtqueue *vq = to_vvq(_vq); - if (!vq->use_dma_api) + if (!vq->use_dma_api) { + kmsan_handle_dma(page, offset, size, dir); return page_to_phys(page) + offset; + } return dma_map_page_attrs(vring_dma_dev(vq), page, offset, size, dir, attrs); }