From: Alexandre Ghiti <alex@ghiti.fr>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Christoph Hellwig <hch@lst.de>,
Russell King <linux@armlinux.org.uk>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Ralf Baechle <ralf@linux-mips.org>,
Paul Burton <paul.burton@mips.com>,
James Hogan <jhogan@kernel.org>,
Palmer Dabbelt <palmer@sifive.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Luis Chamberlain <mcgrof@kernel.org>,
Kees Cook <keescook@chromium.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, Alexandre Ghiti <alex@ghiti.fr>
Subject: [PATCH v3 00/11] Provide generic top-down mmap layout functions
Date: Wed, 17 Apr 2019 01:22:36 -0400 [thread overview]
Message-ID: <20190417052247.17809-1-alex@ghiti.fr> (raw)
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 v3:
- Split into small patches to ease review as suggested by Christoph
Hellwig and Kees Cook
- Move help text of new config as a comment, as suggested by Christoph
- Make new config depend on MMU, as suggested by Christoph
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 (11):
mm, fs: Move randomize_stack_top from fs to mm
arm64: Make use of is_compat_task instead of hardcoding this test
arm64: Consider stack randomization for mmap base only when necessary
arm64, mm: Move generic mmap layout functions to mm
arm: Properly account for stack randomization and stack guard gap
arm: Use STACK_TOP when computing mmap base address
arm: Use generic mmap top-down layout
mips: Properly account for stack randomization and stack guard gap
mips: Use STACK_TOP when computing mmap base address
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 | 96 +++++++++++++++++++++++++++++-
15 files changed, 123 insertions(+), 213 deletions(-)
--
2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Ghiti <alex@ghiti.fr>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Albert Ou <aou@eecs.berkeley.edu>,
Kees Cook <keescook@chromium.org>,
Alexandre Ghiti <alex@ghiti.fr>,
Catalin Marinas <catalin.marinas@arm.com>,
Palmer Dabbelt <palmer@sifive.com>,
Will Deacon <will.deacon@arm.com>,
Russell King <linux@armlinux.org.uk>,
Ralf Baechle <ralf@linux-mips.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Paul Burton <paul.burton@mips.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
James Hogan <jhogan@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-mips@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
linux-arm-kernel@lists.infradead.org,
Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH v3 00/11] Provide generic top-down mmap layout functions
Date: Wed, 17 Apr 2019 01:22:36 -0400 [thread overview]
Message-ID: <20190417052247.17809-1-alex@ghiti.fr> (raw)
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 v3:
- Split into small patches to ease review as suggested by Christoph
Hellwig and Kees Cook
- Move help text of new config as a comment, as suggested by Christoph
- Make new config depend on MMU, as suggested by Christoph
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 (11):
mm, fs: Move randomize_stack_top from fs to mm
arm64: Make use of is_compat_task instead of hardcoding this test
arm64: Consider stack randomization for mmap base only when necessary
arm64, mm: Move generic mmap layout functions to mm
arm: Properly account for stack randomization and stack guard gap
arm: Use STACK_TOP when computing mmap base address
arm: Use generic mmap top-down layout
mips: Properly account for stack randomization and stack guard gap
mips: Use STACK_TOP when computing mmap base address
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 | 96 +++++++++++++++++++++++++++++-
15 files changed, 123 insertions(+), 213 deletions(-)
--
2.20.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Ghiti <alex@ghiti.fr>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Albert Ou <aou@eecs.berkeley.edu>,
Kees Cook <keescook@chromium.org>,
Alexandre Ghiti <alex@ghiti.fr>,
Catalin Marinas <catalin.marinas@arm.com>,
Palmer Dabbelt <palmer@sifive.com>,
Will Deacon <will.deacon@arm.com>,
Russell King <linux@armlinux.org.uk>,
Ralf Baechle <ralf@linux-mips.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Paul Burton <paul.burton@mips.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
James Hogan <jhogan@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-riscv@lists.infradead.org,
linux-mips@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
linux-arm-kernel@lists.infradead.org,
Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH v3 00/11] Provide generic top-down mmap layout functions
Date: Wed, 17 Apr 2019 01:22:36 -0400 [thread overview]
Message-ID: <20190417052247.17809-1-alex@ghiti.fr> (raw)
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 v3:
- Split into small patches to ease review as suggested by Christoph
Hellwig and Kees Cook
- Move help text of new config as a comment, as suggested by Christoph
- Make new config depend on MMU, as suggested by Christoph
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 (11):
mm, fs: Move randomize_stack_top from fs to mm
arm64: Make use of is_compat_task instead of hardcoding this test
arm64: Consider stack randomization for mmap base only when necessary
arm64, mm: Move generic mmap layout functions to mm
arm: Properly account for stack randomization and stack guard gap
arm: Use STACK_TOP when computing mmap base address
arm: Use generic mmap top-down layout
mips: Properly account for stack randomization and stack guard gap
mips: Use STACK_TOP when computing mmap base address
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 | 96 +++++++++++++++++++++++++++++-
15 files changed, 123 insertions(+), 213 deletions(-)
--
2.20.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-04-17 5:23 UTC|newest]
Thread overview: 143+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-17 5:22 Alexandre Ghiti [this message]
2019-04-17 5:22 ` [PATCH v3 00/11] Provide generic top-down mmap layout functions Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` [PATCH v3 01/11] mm, fs: Move randomize_stack_top from fs to mm Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:20 ` Kees Cook
2019-04-18 5:20 ` Kees Cook
2019-04-18 5:20 ` Kees Cook
2019-04-18 5:20 ` Kees Cook
2019-04-17 5:22 ` [PATCH v3 02/11] arm64: Make use of is_compat_task instead of hardcoding this test Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 4:32 ` Kees Cook
2019-04-18 4:32 ` Kees Cook
2019-04-18 4:32 ` Kees Cook
2019-04-18 4:32 ` Kees Cook
2019-04-18 5:23 ` Alex Ghiti
2019-04-18 5:23 ` Alex Ghiti
2019-04-18 5:23 ` Alex Ghiti
2019-04-22 19:53 ` Christoph Hellwig
2019-04-22 19:53 ` Christoph Hellwig
2019-04-22 19:53 ` Christoph Hellwig
2019-04-17 5:22 ` [PATCH v3 03/11] arm64: Consider stack randomization for mmap base only when necessary Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 4:37 ` Kees Cook
2019-04-18 4:37 ` Kees Cook
2019-04-18 4:37 ` Kees Cook
2019-04-18 4:37 ` Kees Cook
2019-04-18 5:24 ` Alex Ghiti
2019-04-18 5:24 ` Alex Ghiti
2019-04-18 5:24 ` Alex Ghiti
2019-04-22 19:53 ` Christoph Hellwig
2019-04-22 19:53 ` Christoph Hellwig
2019-04-22 19:53 ` Christoph Hellwig
2019-04-17 5:22 ` [PATCH v3 04/11] arm64, mm: Move generic mmap layout functions to mm Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:17 ` Kees Cook
2019-04-18 5:17 ` Kees Cook
2019-04-18 5:17 ` Kees Cook
2019-04-18 5:17 ` Kees Cook
2019-04-18 5:55 ` Alex Ghiti
2019-04-18 5:55 ` Alex Ghiti
2019-04-18 5:55 ` Alex Ghiti
2019-04-18 14:19 ` Kees Cook
2019-04-18 14:19 ` Kees Cook
2019-04-18 14:19 ` Kees Cook
2019-04-18 14:19 ` Kees Cook
2019-04-19 7:20 ` Alex Ghiti
2019-04-19 7:20 ` Alex Ghiti
2019-04-19 7:20 ` Alex Ghiti
2019-04-22 19:55 ` Christoph Hellwig
2019-04-22 19:55 ` Christoph Hellwig
2019-04-22 19:55 ` Christoph Hellwig
2019-04-28 14:27 ` Alex Ghiti
2019-04-28 14:27 ` Alex Ghiti
2019-04-28 14:27 ` Alex Ghiti
2019-04-22 19:54 ` Christoph Hellwig
2019-04-22 19:54 ` Christoph Hellwig
2019-04-22 19:54 ` Christoph Hellwig
2019-04-17 5:22 ` [PATCH v3 05/11] arm: Properly account for stack randomization and stack guard gap Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:26 ` Kees Cook
2019-04-18 5:26 ` Kees Cook
2019-04-18 5:26 ` Kees Cook
2019-04-18 5:26 ` Kees Cook
2019-04-18 6:01 ` Alex Ghiti
2019-04-18 6:01 ` Alex Ghiti
2019-04-18 6:01 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 06/11] arm: Use STACK_TOP when computing mmap base address Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:27 ` Kees Cook
2019-04-18 5:27 ` Kees Cook
2019-04-18 5:27 ` Kees Cook
2019-04-18 5:27 ` Kees Cook
2019-04-18 6:04 ` Alex Ghiti
2019-04-18 6:04 ` Alex Ghiti
2019-04-18 6:04 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 07/11] arm: Use generic mmap top-down layout Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:28 ` Kees Cook
2019-04-18 5:28 ` Kees Cook
2019-04-18 5:28 ` Kees Cook
2019-04-18 5:28 ` Kees Cook
2019-04-18 6:06 ` Alex Ghiti
2019-04-18 6:06 ` Alex Ghiti
2019-04-18 6:06 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 08/11] mips: Properly account for stack randomization and stack guard gap Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:30 ` Kees Cook
2019-04-18 5:30 ` Kees Cook
2019-04-18 5:30 ` Kees Cook
2019-04-18 5:30 ` Kees Cook
2019-04-18 6:06 ` Alex Ghiti
2019-04-18 6:06 ` Alex Ghiti
2019-04-18 6:06 ` Alex Ghiti
2019-04-18 21:27 ` Paul Burton
2019-04-18 21:27 ` Paul Burton
2019-04-18 21:27 ` Paul Burton
2019-04-18 21:27 ` Paul Burton
2019-04-19 7:20 ` Alex Ghiti
2019-04-19 7:20 ` Alex Ghiti
2019-04-19 7:20 ` Alex Ghiti
2019-04-19 7:20 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 09/11] mips: Use STACK_TOP when computing mmap base address Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 6:08 ` Alex Ghiti
2019-04-18 6:08 ` Alex Ghiti
2019-04-18 6:08 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 10/11] mips: Use generic mmap top-down layout Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 6:08 ` Alex Ghiti
2019-04-18 6:08 ` Alex Ghiti
2019-04-18 6:08 ` Alex Ghiti
2019-04-17 5:22 ` [PATCH v3 11/11] riscv: Make mmap allocation top-down by default Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-17 5:22 ` Alexandre Ghiti
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 5:31 ` Kees Cook
2019-04-18 6:09 ` Alex Ghiti
2019-04-18 6:09 ` Alex Ghiti
2019-04-18 6:09 ` Alex Ghiti
2019-04-22 19:56 ` Christoph Hellwig
2019-04-22 19:56 ` Christoph Hellwig
2019-04-22 19:56 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190417052247.17809-1-alex@ghiti.fr \
--to=alex@ghiti.fr \
--cc=akpm@linux-foundation.org \
--cc=aou@eecs.berkeley.edu \
--cc=catalin.marinas@arm.com \
--cc=hch@lst.de \
--cc=jhogan@kernel.org \
--cc=keescook@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=mcgrof@kernel.org \
--cc=palmer@sifive.com \
--cc=paul.burton@mips.com \
--cc=ralf@linux-mips.org \
--cc=viro@zeniv.linux.org.uk \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.