From: Jason Gunthorpe <jgg@nvidia.com>
To: Nicolin Chen <nicolinc@nvidia.com>
Cc: kevin.tian@intel.com, corbet@lwn.net, will@kernel.org,
bagasdotme@gmail.com, robin.murphy@arm.com, joro@8bytes.org,
thierry.reding@gmail.com, vdumpa@nvidia.com,
jonathanh@nvidia.com, shuah@kernel.org, jsnitsel@redhat.com,
nathan@kernel.org, peterz@infradead.org, yi.l.liu@intel.com,
mshavit@google.com, praan@google.com, zhangzekun11@huawei.com,
iommu@lists.linux.dev, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-tegra@vger.kernel.org, linux-kselftest@vger.kernel.org,
patches@lists.linux.dev, mochs@nvidia.com,
alok.a.tiwari@oracle.com, vasant.hegde@amd.com,
dwmw2@infradead.org, baolu.lu@linux.intel.com
Subject: Re: [PATCH v5 17/29] iommufd: Add mmap interface
Date: Fri, 30 May 2025 14:12:23 -0300 [thread overview]
Message-ID: <20250530171223.GN233377@nvidia.com> (raw)
In-Reply-To: <aDnj+MD0LexufNX4@Asurada-Nvidia>
On Fri, May 30, 2025 at 09:59:36AM -0700, Nicolin Chen wrote:
> > > +/* The vm_pgoff must be pre-allocated from mt_mmap, and given to user space */
> > > +static int iommufd_fops_mmap(struct file *filp, struct vm_area_struct *vma)
> > > +{
> > > + struct iommufd_ctx *ictx = filp->private_data;
> > > + size_t length = vma->vm_end - vma->vm_start;
> > > + struct iommufd_mmap *immap;
> > > + int rc;
> > > +
> > > + if (!PAGE_ALIGNED(length))
> > > + return -EINVAL;
> > > + if (!(vma->vm_flags & VM_SHARED))
> > > + return -EINVAL;
> > > + if (vma->vm_flags & VM_EXEC)
> > > + return -EPERM;
> > > +
> > > + /* vma->vm_pgoff carries an index to an mtree entry (immap) */
> > > + immap = mtree_load(&ictx->mt_mmap, vma->vm_pgoff);
> > > + if (!immap)
> > > + return -ENXIO;
> > > + /* Validate the vm_pgoff and length against the registered region */
> > > + if (vma->vm_pgoff != immap->startp)
> > > + return -ENXIO;
> >
> > This check seems redundant
>
> Hmm, I was trying to follow your remarks:
> "This needs to validate that vm_pgoff is at the start of the immap"
> https://lore.kernel.org/all/20250515164717.GL382960@nvidia.com/
Oh, right I forgot how mtree_load works again. :\ Maybe add a little
note
/* mtree_load returns the immap for any contained pgoff, only allow
the immap thing to be mapped. */
Jason
next prev parent reply other threads:[~2025-05-30 17:26 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-18 3:21 [PATCH v5 00/29] iommufd: Add vIOMMU infrastructure (Part-4 HW QUEUE) Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 01/29] iommufd: Apply obvious cosmetic fixes Nicolin Chen
2025-05-23 7:43 ` Tian, Kevin
2025-05-28 16:55 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 02/29] iommufd: Introduce iommufd_object_alloc_ucmd helper Nicolin Chen
2025-05-23 7:46 ` Tian, Kevin
2025-05-23 21:17 ` Nicolin Chen
2025-05-28 16:56 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 03/29] iommu: Apply the new " Nicolin Chen
2025-05-23 7:49 ` Tian, Kevin
2025-05-23 21:34 ` Nicolin Chen
2025-05-28 8:11 ` Tian, Kevin
2025-05-28 16:57 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 04/29] iommu: Add iommu_copy_struct_to_user helper Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 05/29] iommu: Pass in a driver-level user data structure to viommu_alloc op Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 06/29] iommufd/viommu: Allow driver-specific user data for a vIOMMU object Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 07/29] iommufd/selftest: Support user_data in mock_viommu_alloc Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 08/29] iommufd/selftest: Add coverage for viommu data Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 09/29] iommufd: Do not unmap an owned iopt_area Nicolin Chen
2025-05-23 7:53 ` Tian, Kevin
2025-05-23 21:38 ` Nicolin Chen
2025-05-24 3:30 ` Nicolin Chen
2025-05-28 17:08 ` Jason Gunthorpe
2025-05-28 18:07 ` Nicolin Chen
2025-06-05 4:30 ` Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 10/29] iommufd: Abstract iopt_pin_pages and iopt_unpin_pages helpers Nicolin Chen
2025-05-28 17:17 ` Jason Gunthorpe
2025-06-05 4:11 ` Nicolin Chen
2025-06-05 15:16 ` Jason Gunthorpe
2025-06-05 17:04 ` Nicolin Chen
2025-06-05 19:40 ` Jason Gunthorpe
2025-06-06 4:46 ` Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 11/29] iommufd/driver: Let iommufd_viommu_alloc helper save ictx to viommu->ictx Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 12/29] iommufd/viommu: Add driver-allocated vDEVICE support Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 13/29] iommufd/viommu: Introduce IOMMUFD_OBJ_HW_QUEUE and its related struct Nicolin Chen
2025-05-23 7:55 ` Tian, Kevin
2025-05-23 21:45 ` Nicolin Chen
2025-05-28 8:12 ` Tian, Kevin
2025-05-28 18:01 ` Nicolin Chen
2025-05-30 16:07 ` Jason Gunthorpe
2025-05-30 16:33 ` Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 14/29] iommufd/viommu: Add IOMMUFD_CMD_HW_QUEUE_ALLOC ioctl Nicolin Chen
2025-05-23 8:00 ` Tian, Kevin
2025-05-24 0:30 ` Nicolin Chen
2025-05-30 16:14 ` Jason Gunthorpe
2025-05-30 17:38 ` Nicolin Chen
2025-05-30 17:40 ` Jason Gunthorpe
2025-05-30 18:23 ` Nicolin Chen
2025-05-30 18:25 ` Jason Gunthorpe
2025-05-30 18:39 ` Nicolin Chen
2025-06-03 5:41 ` Nicolin Chen
2025-06-03 12:24 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 15/29] iommufd/driver: Add iommufd_hw_queue_depend/undepend() helpers Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 16/29] iommufd/selftest: Add coverage for IOMMUFD_CMD_HW_QUEUE_ALLOC Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 17/29] iommufd: Add mmap interface Nicolin Chen
2025-05-30 16:29 ` Jason Gunthorpe
2025-05-30 16:59 ` Nicolin Chen
2025-05-30 17:12 ` Jason Gunthorpe [this message]
2025-05-18 3:21 ` [PATCH v5 18/29] iommufd/selftest: Add coverage for the new " Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 19/29] Documentation: userspace-api: iommufd: Update HW QUEUE Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 20/29] iommu: Allow an input type in hw_info op Nicolin Chen
2025-05-23 8:04 ` Tian, Kevin
2025-05-30 16:52 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 21/29] iommufd: Allow an input data_type via iommu_hw_info Nicolin Chen
2025-05-23 8:06 ` Tian, Kevin
2025-05-30 16:52 ` Jason Gunthorpe
2025-05-30 17:11 ` Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 22/29] iommufd/selftest: Update hw_info coverage for an input data_type Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 23/29] iommu/arm-smmu-v3-iommufd: Add vsmmu_alloc impl op Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 24/29] iommu/arm-smmu-v3-iommufd: Add hw_info to impl_ops Nicolin Chen
2025-05-30 16:57 ` Jason Gunthorpe
2025-05-18 3:21 ` [PATCH v5 25/29] iommu/tegra241-cmdqv: Use request_threaded_irq Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 26/29] iommu/tegra241-cmdqv: Simplify deinit flow in tegra241_cmdqv_remove_vintf() Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 27/29] iommu/tegra241-cmdqv: Do not statically map LVCMDQs Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 28/29] iommu/tegra241-cmdqv: Add user-space use support Nicolin Chen
2025-05-30 17:10 ` Jason Gunthorpe
2025-05-30 17:19 ` Nicolin Chen
2025-05-18 3:21 ` [PATCH v5 29/29] iommu/tegra241-cmdqv: Add IOMMU_VEVENTQ_TYPE_TEGRA241_CMDQV support Nicolin Chen
2025-05-30 17:09 ` 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=20250530171223.GN233377@nvidia.com \
--to=jgg@nvidia.com \
--cc=alok.a.tiwari@oracle.com \
--cc=bagasdotme@gmail.com \
--cc=baolu.lu@linux.intel.com \
--cc=corbet@lwn.net \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux.dev \
--cc=jonathanh@nvidia.com \
--cc=joro@8bytes.org \
--cc=jsnitsel@redhat.com \
--cc=kevin.tian@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mochs@nvidia.com \
--cc=mshavit@google.com \
--cc=nathan@kernel.org \
--cc=nicolinc@nvidia.com \
--cc=patches@lists.linux.dev \
--cc=peterz@infradead.org \
--cc=praan@google.com \
--cc=robin.murphy@arm.com \
--cc=shuah@kernel.org \
--cc=thierry.reding@gmail.com \
--cc=vasant.hegde@amd.com \
--cc=vdumpa@nvidia.com \
--cc=will@kernel.org \
--cc=yi.l.liu@intel.com \
--cc=zhangzekun11@huawei.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.