diff options
| author | Rafael Aquini <[email protected]> | 2024-06-06 18:06:22 +0000 |
|---|---|---|
| committer | Andrew Morton <[email protected]> | 2024-06-15 17:43:06 +0000 |
| commit | 3afb76a66b5559a7b595155803ce23801558a7a9 (patch) | |
| tree | a9ad68a96db16bf98cbafb486d001a83b55c0cf9 /mm/debug_vm_pgtable.c | |
| parent | gcov: add support for GCC 14 (diff) | |
| download | kernel-3afb76a66b5559a7b595155803ce23801558a7a9.tar.gz kernel-3afb76a66b5559a7b595155803ce23801558a7a9.zip | |
mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default
An ASLR regression was noticed [1] and tracked down to file-mapped areas
being backed by THP in recent kernels. The 21-bit alignment constraint
for such mappings reduces the entropy for randomizing the placement of
64-bit library mappings and breaks ASLR completely for 32-bit libraries.
The reported issue is easily addressed by increasing vm.mmap_rnd_bits and
vm.mmap_rnd_compat_bits. This patch just provides a simple way to set
ARCH_MMAP_RND_BITS and ARCH_MMAP_RND_COMPAT_BITS to their maximum values
allowed by the architecture at build time.
[1] https://zolutal.github.io/aslrnt/
[[email protected]: default to `y' if 32-bit, per Rafael]
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 1854bc6e2420 ("mm/readahead: Align file mappings for non-DAX")
Signed-off-by: Rafael Aquini <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Mike Rapoport (IBM) <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Petr Mladek <[email protected]>
Cc: Samuel Holland <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'mm/debug_vm_pgtable.c')
0 files changed, 0 insertions, 0 deletions
