Re: [PATCH v2 13/22] iommufd: Add mmap interface

Jason Gunthorpe
2025-05-07T12:44:17Z

On Tue, May 06, 2025 at 12:30:54PM -0700, Nicolin Chen wrote:

> So, if I understand it correctly, what we want to achieve is to
> have maple tree to manage all PFN ranges. And each range holds
> the same entry, a structure that we can use to verify the sanity
> of an mmap? Let's say for PFNs A->B, the tree should store the
> structure between index A and index B (inclusive)?

And tell you what has been mmap'd.

> If this is correct, mtree_alloc_range() that is given a range of
> [0, ULONG_MAX] would allocate the PFN range from the lowest index
> (i.e. 0) instead of PFN A?

mtree_alloc_range() returns a new range of PFNs that does not overlap
with any existing range. It should always be called on O->U32_MAX (for
32bit uapi compat) and it should always pick the range to use.

Jason