From: Leon Romanovsky <leon@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
Abdiel Janulgue <abdiel.janulgue@gmail.com>,
Alexander Potapenko <glider@google.com>,
Alex Gaynor <alex.gaynor@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Christoph Hellwig <hch@lst.de>,
Danilo Krummrich <dakr@kernel.org>,
iommu@lists.linux.dev, Jason Wang <jasowang@redhat.com>,
Jens Axboe <axboe@kernel.dk>, Joerg Roedel <joro@8bytes.org>,
Jonathan Corbet <corbet@lwn.net>, Juergen Gross <jgross@suse.com>,
kasan-dev@googlegroups.com, Keith Busch <kbusch@kernel.org>,
linux-block@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-nvme@lists.infradead.org, linuxppc-dev@lists.ozlabs.org,
linux-trace-kernel@vger.kernel.org,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Masami Hiramatsu <mhiramat@kernel.org>,
Michael Ellerman <mpe@ellerman.id.au>,
"Michael S. Tsirkin" <mst@redhat.com>,
Miguel Ojeda <ojeda@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
rust-for-linux@vger.kernel.org, Sagi Grimberg <sagi@grimberg.me>,
Stefano Stabellini <sstabellini@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
virtualization@lists.linux.dev, Will Deacon <will@kernel.org>,
xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 08/16] kmsan: convert kmsan_handle_dma to use physical addresses
Date: Thu, 14 Aug 2025 15:35:06 +0300 [thread overview]
Message-ID: <20250814123506.GD310013@unreal> (raw)
In-Reply-To: <20250814121316.GC699432@nvidia.com>
On Thu, Aug 14, 2025 at 09:13:16AM -0300, Jason Gunthorpe wrote:
> On Wed, Aug 13, 2025 at 06:07:18PM +0300, Leon Romanovsky wrote:
> > > > /* Helper function to handle DMA data transfers. */
> > > > -void kmsan_handle_dma(struct page *page, size_t offset, size_t size,
> > > > +void kmsan_handle_dma(phys_addr_t phys, size_t size,
> > > > enum dma_data_direction dir)
> > > > {
> > > > u64 page_offset, to_go, addr;
> > > > + struct page *page;
> > > > + void *kaddr;
> > > >
> > > > - if (PageHighMem(page))
> > > > + if (!pfn_valid(PHYS_PFN(phys)))
> > > > return;
> > >
> > > Not needed, the caller must pass in a phys that is kmap
> > > compatible. Maybe just leave a comment. FWIW today this is also not
> > > checking for P2P or DEVICE non-kmap struct pages either, so it should
> > > be fine without checks.
> >
> > It is not true as we will call to kmsan_handle_dma() unconditionally in
> > dma_map_phys(). The reason to it is that kmsan_handle_dma() is guarded
> > with debug kconfig options and cost of pfn_valid() can be accommodated
> > in that case. It gives more clean DMA code.
>
> Then check attrs here, not pfn_valid.
attrs are not available in kmsan_handle_dma(). I can add it if you prefer.
>
> > So let's keep this patch as is.
>
> Still need to fix the remarks you clipped, do not check PageHighMem
> just call kmap_local_pfn(). All thie PageHighMem stuff is new to this
> patch and should not be here, it is the wrong way to use highmem.
Sure, thanks
>
> Jason
>
next prev parent reply other threads:[~2025-08-14 12:35 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-04 12:42 [PATCH v1 00/16] dma-mapping: migrate to physical address-based API Leon Romanovsky
2025-08-04 12:42 ` [PATCH v1 01/16] dma-mapping: introduce new DMA attribute to indicate MMIO memory Leon Romanovsky
2025-08-06 17:31 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 02/16] iommu/dma: handle MMIO path in dma_iova_link Leon Romanovsky
2025-08-06 18:10 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 03/16] dma-debug: refactor to use physical addresses for page mapping Leon Romanovsky
2025-08-06 18:26 ` Jason Gunthorpe
2025-08-06 18:38 ` Leon Romanovsky
2025-08-04 12:42 ` [PATCH v1 04/16] dma-mapping: rename trace_dma_*map_page to trace_dma_*map_phys Leon Romanovsky
2025-08-04 12:42 ` [PATCH v1 05/16] iommu/dma: rename iommu_dma_*map_page to iommu_dma_*map_phys Leon Romanovsky
2025-08-06 18:44 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 06/16] iommu/dma: extend iommu_dma_*map_phys API to handle MMIO memory Leon Romanovsky
2025-08-07 12:07 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 07/16] dma-mapping: convert dma_direct_*map_page to be phys_addr_t based Leon Romanovsky
2025-08-07 12:13 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 08/16] kmsan: convert kmsan_handle_dma to use physical addresses Leon Romanovsky
2025-08-07 12:21 ` Jason Gunthorpe
2025-08-13 15:07 ` Leon Romanovsky
2025-08-14 12:13 ` Jason Gunthorpe
2025-08-14 12:35 ` Leon Romanovsky [this message]
2025-08-14 12:44 ` Jason Gunthorpe
2025-08-14 13:31 ` Leon Romanovsky
2025-08-14 14:14 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 09/16] dma-mapping: handle MMIO flow in dma_map|unmap_page Leon Romanovsky
2025-08-07 13:08 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 10/16] xen: swiotlb: Open code map_resource callback Leon Romanovsky
2025-08-07 14:40 ` Jürgen Groß
2025-08-04 12:42 ` [PATCH v1 11/16] dma-mapping: export new dma_*map_phys() interface Leon Romanovsky
2025-08-07 13:38 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 12/16] mm/hmm: migrate to physical address-based DMA mapping API Leon Romanovsky
2025-08-07 13:14 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 13/16] mm/hmm: properly take MMIO path Leon Romanovsky
2025-08-07 13:14 ` Jason Gunthorpe
2025-08-04 12:42 ` [PATCH v1 14/16] block-dma: migrate to dma_map_phys instead of map_page Leon Romanovsky
2025-08-04 12:42 ` [PATCH v1 15/16] block-dma: properly take MMIO path Leon Romanovsky
2025-08-04 12:42 ` [PATCH v1 16/16] nvme-pci: unmap MMIO pages with appropriate interface Leon Romanovsky
2025-08-07 13:45 ` Jason Gunthorpe
2025-08-13 15:37 ` Leon Romanovsky
2025-08-07 14:19 ` [PATCH v1 00/16] dma-mapping: migrate to physical address-based API Jason Gunthorpe
2025-08-08 18:51 ` Marek Szyprowski
2025-08-09 13:34 ` Jason Gunthorpe
2025-08-09 16:53 ` Demi Marie Obenour
2025-08-10 17:02 ` Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250814123506.GD310013@unreal \
--to=leon@kernel.org \
--cc=abdiel.janulgue@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alex.gaynor@gmail.com \
--cc=axboe@kernel.dk \
--cc=corbet@lwn.net \
--cc=dakr@kernel.org \
--cc=glider@google.com \
--cc=hch@lst.de \
--cc=iommu@lists.linux.dev \
--cc=jasowang@redhat.com \
--cc=jgg@nvidia.com \
--cc=jgross@suse.com \
--cc=joro@8bytes.org \
--cc=kasan-dev@googlegroups.com \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=m.szyprowski@samsung.com \
--cc=maddy@linux.ibm.com \
--cc=mhiramat@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=mst@redhat.com \
--cc=ojeda@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rostedt@goodmis.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=sagi@grimberg.me \
--cc=sstabellini@kernel.org \
--cc=virtualization@lists.linux.dev \
--cc=will@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.