Re: [PATCH 03/15] mm: document vm_operations_struct->open the same as close()
"Lorenzo Stoakes (Oracle)" <[email protected]>
| Newsgroups | org.kernel.vger.target-devel,dev.linux.lists.linux-staging,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mtd,org.kernel.vger.linux-doc,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-hyperv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-scsi,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Mar 15, 2026 at 05:43:41PM -0700, Suren Baghdasaryan wrote: > On Thu, Mar 12, 2026 at 1:27 PM Lorenzo Stoakes (Oracle) <[email protected]> wrote: > > > > Describe when the operation is invoked and the context in which it is > > invoked, matching the description already added for vm_op->close(). > > > > While we're here, update all outdated references to an 'area' field for > > VMAs to the more consistent 'vma'. > > > > Signed-off-by: Lorenzo Stoakes (Oracle) <[email protected]> > > --- > > include/linux/mm.h | 15 ++++++++++----- > > 1 file changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index cc5960a84382..12a0b4c63736 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -748,15 +748,20 @@ struct vm_uffd_ops; > > * to the functions called when a no-page or a wp-page exception occurs. > > */ > > struct vm_operations_struct { > > - void (*open)(struct vm_area_struct * area); > > + /** > > + * @open: Called when a VMA is remapped or split. Not called upon first > > + * mapping a VMA. > > It's also called from dup_mmap() which is part of forking. Ah yup :) will update thanks! > > > + * Context: User context. May sleep. Caller holds mmap_lock. > > + */ > > + void (*open)(struct vm_area_struct *vma); > > /** > > * @close: Called when the VMA is being removed from the MM. > > * Context: User context. May sleep. Caller holds mmap_lock. > > */ > > - void (*close)(struct vm_area_struct * area); > > + void (*close)(struct vm_area_struct *vma); > > /* Called any time before splitting to check if it's allowed */ > > - int (*may_split)(struct vm_area_struct *area, unsigned long addr); > > - int (*mremap)(struct vm_area_struct *area); > > + int (*may_split)(struct vm_area_struct *vma, unsigned long addr); > > + int (*mremap)(struct vm_area_struct *vma); > > /* > > * Called by mprotect() to make driver-specific permission > > * checks before mprotect() is finalised. The VMA must not > > @@ -768,7 +773,7 @@ struct vm_operations_struct { > > vm_fault_t (*huge_fault)(struct vm_fault *vmf, unsigned int order); > > vm_fault_t (*map_pages)(struct vm_fault *vmf, > > pgoff_t start_pgoff, pgoff_t end_pgoff); > > - unsigned long (*pagesize)(struct vm_area_struct * area); > > + unsigned long (*pagesize)(struct vm_area_struct *vma); > > > > /* notification that a previously read-only page is about to become > > * writable, if an error is returned it will cause a SIGBUS */ > > -- > > 2.53.0 > > Cheers, Lorenzo