From: schwidefsky@de.ibm.com (Martin Schwidefsky)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/4] Allow customizable random offset to mmap_base address.
Date: Thu, 26 Nov 2015 16:11:29 +0100 [thread overview]
Message-ID: <20151126161129.59024450@mschwide> (raw)
In-Reply-To: <565606DD.2090502@android.com>
On Wed, 25 Nov 2015 11:07:09 -0800
Daniel Cashman <dcashman@android.com> wrote:
> On 11/24/2015 04:39 PM, Andrew Morton wrote:
>
> > mips, powerpc and s390 also implement arch_mmap_rnd(). Are there any
> > special considerations here, or it just a matter of maintainers wiring
> > it up and testing it?
>
> I had not yet looked at those at all, as I had no way to do even a
> rudimentary "does it boot" test and opted to post v3 first. Upon first
> glance, it should just be a matter of wiring it up:
>
> Mips is divided into 12/16 bits for 32/64 bit (assume baseline 4k page)
> w/COMPAT kconfig, powerpc is 11/18 w/COMPAT, s390 is 11/11 w/COMPAT.
> s390 is a bit strange as COMPAT is for a 31-bit address space, although
> is_32bit_task() is used to determine which mask to use, and the mask
> itself for 64-bit only introduces 11 bits of entropy, but while still
> affecting larger chunks of the address space (mask is 0x3ff80, resulting
> in an effective 0x7ff shift of PAGE_SIZE + 7 bits).
s390 uses a mmap randomization of 11 bits but applies it to different
bits dependent if the task is a compat task or not. From the machine
perspective we would like to always use the randomization bits for
normal, non-compat tasks. But as the 2GB address space for compat tasks
is really limited the randomization is applied in bits 2^12..2^22 for
compat tasks vs 2^19..2^29 for normal tasks at the cost of performance.
This has to do with the cache aliasing on z13.
By the way we will replace is_32bit_task with() is_compat_task(), I have
a patch from Heiko pending for that.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
next prev parent reply other threads:[~2015-11-26 15:11 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-18 23:20 [PATCH v3 0/4] Allow customizable random offset to mmap_base address Daniel Cashman
2015-11-18 23:20 ` [PATCH v3 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR Daniel Cashman
2015-11-18 23:20 ` [PATCH v3 2/4] arm: mm: support ARCH_MMAP_RND_BITS Daniel Cashman
2015-11-18 23:20 ` [PATCH v3 3/4] arm64: " Daniel Cashman
2015-11-18 23:20 ` [PATCH v3 4/4] x86: " Daniel Cashman
2015-11-19 0:16 ` Daniel Cashman
2015-11-23 15:04 ` [PATCH v3 3/4] arm64: " Will Deacon
2015-11-23 18:55 ` Daniel Cashman
2015-11-25 4:26 ` Michael Ellerman
2015-11-25 19:32 ` Daniel Cashman
2015-11-25 12:06 ` Catalin Marinas
2015-11-25 20:39 ` Daniel Cashman
2015-11-27 8:36 ` Andrey Ryabinin
2015-11-27 9:32 ` Catalin Marinas
2015-11-19 0:14 ` [PATCH v3 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR Daniel Cashman
2015-11-25 0:40 ` Andrew Morton
2015-11-25 0:47 ` Kees Cook
2015-11-25 19:16 ` Daniel Cashman
2015-11-25 4:40 ` Michael Ellerman
2015-11-25 19:36 ` Daniel Cashman
2015-11-25 0:39 ` [PATCH v3 0/4] Allow customizable random offset to mmap_base address Andrew Morton
2015-11-25 19:07 ` Daniel Cashman
2015-11-26 15:11 ` Martin Schwidefsky [this message]
2015-11-26 7:07 ` Michael Ellerman
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=20151126161129.59024450@mschwide \
--to=schwidefsky@de.ibm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox