On Mon, Jan 29, 2024, at 7:36 PM, Charlie Jenkins wrote: > On riscv, mmap currently returns an address from the largest address > space that can fit entirely inside of the hint address. This makes it > such that the hint address is almost never returned. This patch raises > the mappable area up to and including the hint address. This allows mmap > to often return the hint address, which allows a performance improvement > over searching for a valid address as well as making the behavior more > similar to other architectures. This means that if an application or library opts in to Sv48 support by passing a nonzero hint, it will lose the benefits of ASLR. Allowing applications to opt in to a VA space smaller than the architectural minimum seems like an independently useful feature. Is there a reason to only add it for riscv64? -s > Signed-off-by: Charlie Jenkins <charlie@xxxxxxxxxxxx> > --- > Charlie Jenkins (3): > riscv: mm: Use hint address in mmap if available > selftests: riscv: Generalize mm selftests > docs: riscv: Define behavior of mmap > > Documentation/arch/riscv/vm-layout.rst | 16 ++-- > arch/riscv/include/asm/processor.h | 21 ++---- > tools/testing/selftests/riscv/mm/mmap_bottomup.c | 20 +---- > tools/testing/selftests/riscv/mm/mmap_default.c | 20 +---- > tools/testing/selftests/riscv/mm/mmap_test.h | 93 +++++++++++++----------- > 5 files changed, 66 insertions(+), 104 deletions(-) > --- > base-commit: 556e2d17cae620d549c5474b1ece053430cd50bc > change-id: 20240119-use_mmap_hint_address-f9f4b1b6f5f1 > -- > - Charlie > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-riscv