diff options
| author | dcashman <dcashman@google.com> | 2015-12-29 14:24:39 -0800 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-09-10 16:51:12 +0200 |
| commit | bd4cf354cc5f4a7c5c64b5bae1f6167423ae39c2 (patch) | |
| tree | 12526b612248dd45f3454680401a584914d706c6 /include/linux | |
| parent | fb9d96e62a68703f1861f14c68caa8a641b68978 (diff) | |
FROMLIST: mm: mmap: Add new /proc tunable for mmap_base ASLR.
(cherry picked from commit https://lkml.org/lkml/2015/12/21/337)
ASLR only uses as few as 8 bits to generate the random offset for the
mmap base address on 32 bit architectures. This value was chosen to
prevent a poorly chosen value from dividing the address space in such
a way as to prevent large allocations. This may not be an issue on all
platforms. Allow the specification of a minimum number of bits so that
platforms desiring greater ASLR protection may determine where to place
the trade-off.
Bug: 24047224
Signed-off-by: Daniel Cashman <dcashman@android.com>
Signed-off-by: Daniel Cashman <dcashman@google.com>
Change-Id: I66ac01c6f4f2c8dcfc84d1f1e99490b8385b3ed4
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/mm.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h index 43925493f..44cbce366 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -40,6 +40,17 @@ extern int sysctl_legacy_va_layout; #define sysctl_legacy_va_layout 0 #endif +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_BITS +extern const int mmap_rnd_bits_min; +extern const int mmap_rnd_bits_max; +extern int mmap_rnd_bits __read_mostly; +#endif +#ifdef CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS +extern const int mmap_rnd_compat_bits_min; +extern const int mmap_rnd_compat_bits_max; +extern int mmap_rnd_compat_bits __read_mostly; +#endif + #include <asm/page.h> #include <asm/pgtable.h> #include <asm/processor.h> |
