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

From: Stefan O'Rear
Date: Tue Jan 30 2024 - 17:05:29 EST


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