On Thu, 6 Jun 2024 10:20:21 +0200, Alexander Potapenko <glider@xxxxxxxxxx> wrote: > > Could you try this? > > 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. Sorry, I have some changes locally. If the hunk #1 is applied, then it is ok. Do you think we need more test? Or I post an new patch directly. Thanks. > > > 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); > > } > > > > -- > Alexander Potapenko > Software Engineer > > Google Germany GmbH > Erika-Mann-Straße, 33 > 80636 München > > Geschäftsführer: Paul Manicle, Liana Sebastian > Registergericht und -nummer: Hamburg, HRB 86891 > Sitz der Gesellschaft: Hamburg >