lkml.org 
[lkml]   [2024]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/3] riscv: mm: Use hint address in mmap if available
On Tue, Jan 30, 2024 at 05:04:55PM -0500, Stefan O'Rear wrote:
> 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.

That is a good point. I can include rv32 as well.

- Charlie

>
> -s
>
> > - Charlie
> >
> >> -s
> >>
> >> > Signed-off-by: Charlie Jenkins <charlie@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@lists.infradead.org
> >> > http://lists.infradead.org/mailman/listinfo/linux-riscv
> >
> > _______________________________________________
> > linux-riscv mailing list
> > linux-riscv@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-riscv

\
 
 \ /
  Last update: 2024-05-27 14:40    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog