linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] mm: update mips to use do_mmap(), make mmap_region() internal
@ 2024-12-12 15:36 Lorenzo Stoakes
  2024-12-12 15:36 ` [RFC PATCH 1/2] mips: vdso: prefer do_mmap() to mmap_region() Lorenzo Stoakes
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Lorenzo Stoakes @ 2024-12-12 15:36 UTC (permalink / raw)
  To: Andrew Morton, Liam R . Howlett
  Cc: Thomas Bogendoerfer, Vlastimil Babka, Jann Horn, linux-mm,
	linux-kernel, linux-mips

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-01-02 11:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-12 15:36 [RFC PATCH 0/2] mm: update mips to use do_mmap(), make mmap_region() internal Lorenzo Stoakes
2024-12-12 15:36 ` [RFC PATCH 1/2] mips: vdso: prefer do_mmap() to mmap_region() Lorenzo Stoakes
2024-12-12 15:36 ` [RFC PATCH 2/2] mm: make mmap_region() internal Lorenzo Stoakes
2024-12-12 15:45   ` Matthew Wilcox
2024-12-12 16:48     ` Lorenzo Stoakes
2024-12-17  8:23 ` [RFC PATCH 0/2] mm: update mips to use do_mmap(), " Thomas Bogendoerfer
2024-12-17 14:11   ` Liam R. Howlett
2025-01-02 11:46   ` Lorenzo Stoakes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox