Skip to content

RFC mm: update mips to use do_mmap(), make mmap_region() internal

Lorenzo Stoakes linux-mips linux-mm lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest2 patches 5 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2mips: vdso: prefer do_mmap() to mmap_region()arch/mips/kernel/vdso.c+6 -40 replies
2/2mm: make mmap_region() internalinclude/linux/mm.h mm/mmap.c mm/vma.c +2 more+103 -412 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC PATCH 0/2] mm: update mips to use do_mmap(), make mmap_region() internal

Currently the only user of mmap_region() outside of the memory management code is the MIPS VDSO implementation.

This uses mmap_region() to map a 'delay slot emulation page' at the top of the stack which is read-only and executable.

This mapping requires that an already-acquired mmap write lock is utilised and that uffd and populate logic is ignored. This rules out vm_mmap(), however do_mmap() fits the bill.

Adapt this code to use do_mmap() and then once done, make mmap_region() internal and userland testable, and avoid any other uses of mmap_region(), which is absolutely and strictly an internal mm function which bypasses a great number of checks and logic.

REVIEWERS NOTES:

Thomas - I lack the hardware or set up to test this beyond a simple cross-compilation test, so I need some input from you MIPS guys as to whether this is workable.

I've therefore sent this as an RFC so we can be sure this is suitable! Please could you check to make sure this change is OK and I haven't missed anything?

Thanks!

Lorenzo Stoakes (2):
mips: vdso: prefer do_mmap() to mmap_region()
mm: make mmap_region() internal

 arch/mips/kernel/vdso.c          | 10 +++--
 include/linux/mm.h               |  3 --
 mm/mmap.c                        | 34 -----------------
 mm/vma.c                         | 36 +++++++++++++++++-
 mm/vma.h                         |  6 +--
 tools/testing/vma/vma_internal.h | 65 ++++++++++++++++++++++++++++++++
 6 files changed, 109 insertions(+), 45 deletions(-)

--
2.47.1