From: Matt Evans <mattev@meta.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
Logan Gunthorpe <logang@deltatee.com>,
Ankit Agrawal <ankita@nvidia.com>,
Alex Williamson <alex@shazbot.org>,
Niklas Schnelle <schnelle@linux.ibm.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PCI/P2PDMA: Avoid returning a provider for non_mappable_bars
Date: Wed, 22 Apr 2026 15:22:53 +0100 [thread overview]
Message-ID: <a42eff69-e31e-4f99-a63a-5db2402154eb@meta.com> (raw)
In-Reply-To: <20260421194954.GA28413@unreal>
Hi Leon,
On 21/04/2026 20:49, Leon Romanovsky wrote:
>
> On Tue, Apr 21, 2026 at 10:43:51AM -0700, Matt Evans wrote:
>> Extend pcim_p2pdma_provider()'s checks to exclude functions that have
>> pdev->non_mappable_bars set.
>>
>> Consumers such as VFIO were previously able to map these for access by
>> the CPU or P2P. Update the comment on non_mappable_bars to show it
>> refers to any access, not just userspace CPU access.
>>
>> Fixes: 372d6d1b8ae3c ("PCI/P2PDMA: Refactor to separate core P2P functionality from memory allocation")
>
> I don't object to the patch, but this Fixes line doesn't look correct.
> non_mappable_bars applies only to s390, which doesn't support p2p. That
> wasn't prevented before 372d6d1b8ae3c refactoring too.
Thanks; I'd chosen that commit as it adds the function that the
additional test is being added to.
As an example consumer, vfio_pci_core_get_dmabuf_phys() added in
5d74781ebc86 ("vfio/pci: Add dma-buf export support for MMIO regions")
could do an export when it shouldn't. (And with my other mmap series, a
CPU could then access it, not even P2P.) I suppose this patch could
point to 5d74781ebc86 instead (which allows the naughty DMABUF export),
but I couldn't prove VFIO DMABUF export was the only thing using
pcim_p2pdma_provider() added in 372d6d1b8ae3c (especially as that
symbol's exported).
It still seems most watertight to treat this as a fix for anything
containing 372d6d1b8ae3c, but if you feel it's not right what would be a
better one?
Also, in the other thread (linked above) Alex made the point that whilst
_today_ non_mappable_bars is only set by one s390 device, he expects
future quirks or reasons to exclude mappings would also use
non_mappable_bars so we shouldn't consider it a s390-specific thing.
Cheers,
Matt
next prev parent reply other threads:[~2026-04-22 14:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 17:43 [PATCH] PCI/P2PDMA: Avoid returning a provider for non_mappable_bars Matt Evans
2026-04-21 18:14 ` Logan Gunthorpe
2026-04-21 19:49 ` Leon Romanovsky
2026-04-22 14:22 ` Matt Evans [this message]
2026-04-22 15:19 ` Leon Romanovsky
2026-04-23 14:55 ` Niklas Schnelle
2026-04-26 11:22 ` Leon Romanovsky
2026-04-23 15:48 ` Matt Evans
2026-04-22 9:19 ` Niklas Schnelle
2026-04-22 15:01 ` Alex Williamson
2026-04-23 16:46 ` Matt Evans
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=a42eff69-e31e-4f99-a63a-5db2402154eb@meta.com \
--to=mattev@meta.com \
--cc=alex@shazbot.org \
--cc=ankita@nvidia.com \
--cc=bhelgaas@google.com \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=logang@deltatee.com \
--cc=schnelle@linux.ibm.com \
/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.