[PATCH 0/3] riscv: mm: Use hint address in mmap if available

Stefan O'Rear sorear at fastmail.com
Tue Jan 30 14:04:55 PST 2024


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 at rivosinc.com>
>> > ---
>> > 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 at lists.infradead.org
>> > http://lists.infradead.org/mailman/listinfo/linux-riscv
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



More information about the linux-riscv mailing list