On Mon, Sep 08, 2025 at 02:12:00PM +0100, Lorenzo Stoakes wrote: > On Mon, Sep 08, 2025 at 09:51:01AM -0300, Jason Gunthorpe wrote: > > On Mon, Sep 08, 2025 at 12:10:34PM +0100, Lorenzo Stoakes wrote: > > > static int secretmem_mmap_prepare(struct vm_area_desc *desc) > > > { > > > - const unsigned long len = desc->end - desc->start; > > > + const unsigned long len = vma_desc_size(desc); > > > > > > if ((desc->vm_flags & (VM_SHARED | VM_MAYSHARE)) == 0) > > > return -EINVAL; > > > > I wonder if we should have some helper for this shared check too, it > > is a bit tricky with the two flags. Forced-shared checks are pretty > > common. > > Sure can add. > > > > > vma_desc_must_be_shared(desc) ? > > Maybe _could_be_shared()? It is not could, it is must. Perhaps !vma_desc_cowable() Is what many drivers are really trying to assert. Jason