From: dcashman@android.com (Daniel Cashman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 3/4] arm64: mm: support ARCH_MMAP_RND_BITS.
Date: Thu, 3 Dec 2015 08:12:32 -0800 [thread overview]
Message-ID: <566069F0.3060409@android.com> (raw)
In-Reply-To: <20151203121712.GE11337@arm.com>
On 12/3/15 4:17 AM, Will Deacon wrote:
>> + select HAVE_ARCH_MMAP_RND_BITS if MMU
>> + select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
>
> You can drop the 'if MMU' bits, since we don't support !MMU on arm64.
Ok, will do. I was a little uneasy leaving it implicit, but even if
something w/out MMU on arm64 shows up, it'll easily be corrected.
>> +config ARCH_MMAP_RND_BITS_MIN
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Is this correct? We currently have a mask of 0x3ffff, so that's 18 bits.
Off-by-one errors provide a good example of why hardening features are
useful? =/ Will change.
>> +config ARCH_MMAP_RND_BITS_MAX
>> + default 19 if ARM64_VA_BITS=36
>> + default 20 if ARM64_64K_PAGES && ARM64_VA_BITS=39
>> + default 22 if ARM64_16K_PAGES && ARM64_VA_BITS=39
>> + default 24 if ARM64_VA_BITS=39
>> + default 23 if ARM64_64K_PAGES && ARM64_VA_BITS=42
>> + default 25 if ARM64_16K_PAGES && ARM64_VA_BITS=42
>> + default 27 if ARM64_VA_BITS=42
>> + default 30 if ARM64_VA_BITS=47
>> + default 29 if ARM64_64K_PAGES && ARM64_VA_BITS=48
>> + default 31 if ARM64_16K_PAGES && ARM64_VA_BITS=48
>> + default 33 if ARM64_VA_BITS=48
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Could you add a comment above this with the formula
> (VA_BITS - PAGE_SHIFT - 3), please, so that we can update this easily in
> the future if we need to?
>
Yes, seems reasonable. Time will tell if this remains true for all
architectures, or even here, but it would be good to document it where
someone considering a change could easily find it.
Thank You,
Dan
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Cashman <dcashman@android.com>
To: Will Deacon <will.deacon@arm.com>
Cc: linux-kernel@vger.kernel.org, linux@arm.linux.org.uk,
akpm@linux-foundation.org, keescook@chromium.org,
mingo@kernel.org, linux-arm-kernel@lists.infradead.org,
corbet@lwn.net, dzickus@redhat.com, ebiederm@xmission.com,
xypron.glpk@gmx.de, jpoimboe@redhat.com,
kirill.shutemov@linux.intel.com, n-horiguchi@ah.jp.nec.com,
aarcange@redhat.com, mgorman@suse.de, tglx@linutronix.de,
rientjes@google.com, linux-mm@kvack.org,
linux-doc@vger.kernel.org, salyzyn@android.com, jeffv@google.com,
nnk@google.com, catalin.marinas@arm.com, hpa@zytor.com,
x86@kernel.org, hecmargi@upv.es, bp@suse.de, dcashman@google.com,
arnd@arndb.de
Subject: Re: [PATCH v5 3/4] arm64: mm: support ARCH_MMAP_RND_BITS.
Date: Thu, 3 Dec 2015 08:12:32 -0800 [thread overview]
Message-ID: <566069F0.3060409@android.com> (raw)
In-Reply-To: <20151203121712.GE11337@arm.com>
On 12/3/15 4:17 AM, Will Deacon wrote:
>> + select HAVE_ARCH_MMAP_RND_BITS if MMU
>> + select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
>
> You can drop the 'if MMU' bits, since we don't support !MMU on arm64.
Ok, will do. I was a little uneasy leaving it implicit, but even if
something w/out MMU on arm64 shows up, it'll easily be corrected.
>> +config ARCH_MMAP_RND_BITS_MIN
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Is this correct? We currently have a mask of 0x3ffff, so that's 18 bits.
Off-by-one errors provide a good example of why hardening features are
useful? =/ Will change.
>> +config ARCH_MMAP_RND_BITS_MAX
>> + default 19 if ARM64_VA_BITS=36
>> + default 20 if ARM64_64K_PAGES && ARM64_VA_BITS=39
>> + default 22 if ARM64_16K_PAGES && ARM64_VA_BITS=39
>> + default 24 if ARM64_VA_BITS=39
>> + default 23 if ARM64_64K_PAGES && ARM64_VA_BITS=42
>> + default 25 if ARM64_16K_PAGES && ARM64_VA_BITS=42
>> + default 27 if ARM64_VA_BITS=42
>> + default 30 if ARM64_VA_BITS=47
>> + default 29 if ARM64_64K_PAGES && ARM64_VA_BITS=48
>> + default 31 if ARM64_16K_PAGES && ARM64_VA_BITS=48
>> + default 33 if ARM64_VA_BITS=48
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Could you add a comment above this with the formula
> (VA_BITS - PAGE_SHIFT - 3), please, so that we can update this easily in
> the future if we need to?
>
Yes, seems reasonable. Time will tell if this remains true for all
architectures, or even here, but it would be good to document it where
someone considering a change could easily find it.
Thank You,
Dan
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Cashman <dcashman@android.com>
To: Will Deacon <will.deacon@arm.com>
Cc: linux-kernel@vger.kernel.org, linux@arm.linux.org.uk,
akpm@linux-foundation.org, keescook@chromium.org,
mingo@kernel.org, linux-arm-kernel@lists.infradead.org,
corbet@lwn.net, dzickus@redhat.com, ebiederm@xmission.com,
xypron.glpk@gmx.de, jpoimboe@redhat.com,
kirill.shutemov@linux.intel.com, n-horiguchi@ah.jp.nec.com,
aarcange@redhat.com, mgorman@suse.de, tglx@linutronix.de,
rientjes@google.com, linux-mm@kvack.org,
linux-doc@vger.kernel.org, salyzyn@android.com, jeffv@google.com,
nnk@google.com, catalin.marinas@arm.com, hpa@zytor.com,
x86@kernel.org, hecmargi@upv.es, bp@suse.de, dcashman@google.com,
arnd@arndb.de
Subject: Re: [PATCH v5 3/4] arm64: mm: support ARCH_MMAP_RND_BITS.
Date: Thu, 3 Dec 2015 08:12:32 -0800 [thread overview]
Message-ID: <566069F0.3060409@android.com> (raw)
In-Reply-To: <20151203121712.GE11337@arm.com>
On 12/3/15 4:17 AM, Will Deacon wrote:
>> + select HAVE_ARCH_MMAP_RND_BITS if MMU
>> + select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
>
> You can drop the 'if MMU' bits, since we don't support !MMU on arm64.
Ok, will do. I was a little uneasy leaving it implicit, but even if
something w/out MMU on arm64 shows up, it'll easily be corrected.
>> +config ARCH_MMAP_RND_BITS_MIN
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Is this correct? We currently have a mask of 0x3ffff, so that's 18 bits.
Off-by-one errors provide a good example of why hardening features are
useful? =/ Will change.
>> +config ARCH_MMAP_RND_BITS_MAX
>> + default 19 if ARM64_VA_BITS=36
>> + default 20 if ARM64_64K_PAGES && ARM64_VA_BITS=39
>> + default 22 if ARM64_16K_PAGES && ARM64_VA_BITS=39
>> + default 24 if ARM64_VA_BITS=39
>> + default 23 if ARM64_64K_PAGES && ARM64_VA_BITS=42
>> + default 25 if ARM64_16K_PAGES && ARM64_VA_BITS=42
>> + default 27 if ARM64_VA_BITS=42
>> + default 30 if ARM64_VA_BITS=47
>> + default 29 if ARM64_64K_PAGES && ARM64_VA_BITS=48
>> + default 31 if ARM64_16K_PAGES && ARM64_VA_BITS=48
>> + default 33 if ARM64_VA_BITS=48
>> + default 15 if ARM64_64K_PAGES
>> + default 17 if ARM64_16K_PAGES
>> + default 19
>
> Could you add a comment above this with the formula
> (VA_BITS - PAGE_SHIFT - 3), please, so that we can update this easily in
> the future if we need to?
>
Yes, seems reasonable. Time will tell if this remains true for all
architectures, or even here, but it would be good to document it where
someone considering a change could easily find it.
Thank You,
Dan
next prev parent reply other threads:[~2015-12-03 16:12 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-01 20:10 [PATCH v5 0/4] Allow customizable random offset to mmap_base address Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` [PATCH v5 1/4] mm: mmap: Add new /proc tunable for mmap_base ASLR Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` [PATCH v5 2/4] arm: mm: support ARCH_MMAP_RND_BITS Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` [PATCH v5 3/4] arm64: " Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` [PATCH v5 4/4] x86: " Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-01 20:10 ` Daniel Cashman
2015-12-03 12:17 ` [PATCH v5 3/4] arm64: " Will Deacon
2015-12-03 12:17 ` Will Deacon
2015-12-03 12:17 ` Will Deacon
2015-12-03 16:12 ` Daniel Cashman [this message]
2015-12-03 16:12 ` Daniel Cashman
2015-12-03 16:12 ` Daniel Cashman
2015-12-07 10:26 ` Jon Hunter
2015-12-07 10:26 ` Jon Hunter
2015-12-07 10:26 ` Jon Hunter
2015-12-07 11:13 ` Arnd Bergmann
2015-12-07 11:13 ` Arnd Bergmann
2015-12-07 11:13 ` Arnd Bergmann
2015-12-07 18:26 ` Daniel Cashman
2015-12-07 18:26 ` Daniel Cashman
2015-12-07 18:26 ` Daniel Cashman
2015-12-08 10:03 ` Arnd Bergmann
2015-12-08 10:03 ` Arnd Bergmann
2015-12-08 10:03 ` Arnd Bergmann
2015-12-01 22:39 ` [PATCH v5 0/4] Allow customizable random offset to mmap_base address Kees Cook
2015-12-01 22:39 ` Kees Cook
2015-12-01 22:39 ` Kees Cook
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=566069F0.3060409@android.com \
--to=dcashman@android.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 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.