Re: [PATCH 03/15] mm: document vm_operations_struct->open the same as close()
Suren Baghdasaryan <[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 | <CAJuCfpHVN66abFrJgorXKBsjv7Ut=CP-E4NpLMC4SW613tJwtw@mail.gmail.com> |
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. > + * 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 >