On Mon, Jan 29, 2024, at 9:13 PM, Charlie Jenkins wrote: > On Mon, Jan 29, 2024 at 09:04:50PM -0500, Stefan O'Rear wrote: >> 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. > > sv48 is default. However your statement stands for opting into sv57. > If they always pass the same hint address, only the first address will > be deterministic though, correct? I think this is correct. >> >> 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? >> > > If there is interest, it can be added to other architectures as well. I meant as opposed to riscv32. -s > - Charlie > >> -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 > > _______________________________________________ > linux-riscv mailing list > linux-riscv@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-riscv