• Liam R. Howlett's avatar
    mm/mmap: reposition vma iterator in mmap_region() · d744f4ac
    Liam R. Howlett authored
    Instead of moving (or leaving) the vma iterator pointing at the previous
    vma, leave it pointing at the insert location.  Pointing the vma iterator
    at the insert location allows for a cleaner walk of the vma tree for
    MAP_FIXED and the no expansion cases.
    
    The vma_prev() call in the case of merging the previous vma is equivalent
    to vma_iter_prev_range(), since the vma iterator will be pointing to the
    location just before the previous vma.
    
    This change needs to export abort_munmap_vmas() from mm/vma.
    
    Link: https://lkml.kernel.org/r/20240830040101.822209-12-Liam.Howlett@oracle.comSigned-off-by: default avatarLiam R. Howlett <Liam.Howlett@Oracle.com>
    Reviewed-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
    Cc: Bert Karwatzki <spasswolf@web.de>
    Cc: Jeff Xu <jeffxu@chromium.org>
    Cc: Jiri Olsa <olsajiri@gmail.com>
    Cc: Kees Cook <kees@kernel.org>
    Cc: Lorenzo Stoakes <lstoakes@gmail.com>
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: "Paul E. McKenney" <paulmck@kernel.org>
    Cc: Paul Moore <paul@paul-moore.com>
    Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    d744f4ac
vma.c 50.5 KB