linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Provide generic top-down mmap layout functions
@ 2019-04-04  5:51 Alexandre Ghiti
  2019-04-04  5:51 ` [PATCH v2 1/5] mm, fs: Move randomize_stack_top from fs to mm Alexandre Ghiti
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Alexandre Ghiti @ 2019-04-04  5:51 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Christoph Hellwig, Russell King, Catalin Marinas, Will Deacon,
	Ralf Baechle, Paul Burton, James Hogan, Palmer Dabbelt,
	Albert Ou, Alexander Viro, Luis Chamberlain, Kees Cook,
	linux-arm-kernel, linux-kernel, linux-mips, linux-riscv,
	linux-fsdevel, linux-mm, Alexandre Ghiti

This series introduces generic functions to make top-down mmap layout
easily accessible to architectures, in particular riscv which was
the initial goal of this series.
The generic implementation was taken from arm64 and used successively
by arm, mips and finally riscv.

Note that in addition the series fixes 2 issues:
- stack randomization was taken into account even if not necessary.
- [1] fixed an issue with mmap base which did not take into account
  randomization but did not report it to arm and mips, so by moving
  arm64 into a generic library, this problem is now fixed for both
  architectures.

This work is an effort to factorize architecture functions to avoid
code duplication and oversights as in [1].

[1]: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1429066.html

Changes in v2 as suggested by Christoph Hellwig:
  - Preparatory patch that moves randomize_stack_top
  - Fix duplicate config in riscv
  - Align #if defined on next line => this gives rise to a checkpatch
    warning. I found this pattern all around the tree, in the same proportion
    as the previous pattern which was less pretty:
    git grep -C 1 -n -P "^#if defined.+\|\|.*\\\\$" 

Alexandre Ghiti (5):
  mm, fs: Move randomize_stack_top from fs to mm
  arm64, mm: Move generic mmap layout functions to mm
  arm: Use generic mmap top-down layout
  mips: Use generic mmap top-down layout
  riscv: Make mmap allocation top-down by default

 arch/Kconfig                       |  8 +++
 arch/arm/Kconfig                   |  1 +
 arch/arm/include/asm/processor.h   |  2 -
 arch/arm/mm/mmap.c                 | 52 ----------------
 arch/arm64/Kconfig                 |  1 +
 arch/arm64/include/asm/processor.h |  2 -
 arch/arm64/mm/mmap.c               | 72 ----------------------
 arch/mips/Kconfig                  |  1 +
 arch/mips/include/asm/processor.h  |  5 --
 arch/mips/mm/mmap.c                | 57 -----------------
 arch/riscv/Kconfig                 | 11 ++++
 fs/binfmt_elf.c                    | 20 ------
 include/linux/mm.h                 |  2 +
 kernel/sysctl.c                    |  6 +-
 mm/util.c                          | 99 +++++++++++++++++++++++++++++-
 15 files changed, 126 insertions(+), 213 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2019-04-11  7:17 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-04  5:51 [PATCH v2 0/5] Provide generic top-down mmap layout functions Alexandre Ghiti
2019-04-04  5:51 ` [PATCH v2 1/5] mm, fs: Move randomize_stack_top from fs to mm Alexandre Ghiti
2019-04-10  6:54   ` Christoph Hellwig
2019-04-10  7:18     ` Alexandre Ghiti
2019-04-04  5:51 ` [PATCH v2 2/5] arm64, mm: Move generic mmap layout functions " Alexandre Ghiti
2019-04-10  6:59   ` Christoph Hellwig
2019-04-10  7:32     ` Alexandre Ghiti
2019-04-10 18:27       ` Kees Cook
2019-04-11  7:16         ` Alexandre Ghiti
2019-04-04  5:51 ` [PATCH v2 3/5] arm: Use generic mmap top-down layout Alexandre Ghiti
2019-04-04  5:51 ` [PATCH v2 4/5] mips: " Alexandre Ghiti
2019-04-04  5:51 ` [PATCH v2 5/5] riscv: Make mmap allocation top-down by default Alexandre Ghiti
2019-04-10  6:59   ` Christoph Hellwig
2019-04-10  7:18     ` Alexandre Ghiti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).