Re: [PATCH 1/2] powerpc/vdso: Add a page for non-time data

From: Thomas Weißschuh
Date: Wed Oct 02 2024 - 04:54:39 EST


Hi Christophe,

On Wed, Oct 02, 2024 at 10:39:28AM GMT, Christophe Leroy wrote:
> The page containing VDSO time data is swapped with the one containing
> TIME namespace data when a process uses a non-root time namespace.
> For other data like powerpc specific data and RNG data, it means
> tracking whether time namespace is the root one or not to know which
> page to use.
>
> Simplify the logic behind by moving time data out of first data page
> so that the first data page which contains everything else always
> remains the first page. Time data is in the second or third page
> depending on selected time namespace.
>
> While we are playing with get_datapage macro, directly take into
> account the data offset inside the macro instead of adding that offset
> afterwards.

FYI

I am currently working on a series to unify the storage of the
VDSO data for most architectures, including powerpc.
This will also include a dedicated rng data page.

That generic infrastructure would replace the need for Patch 1.
Obviously, if your series gets applied, I can adapt mine for that.

If you are about to also modify other architectures in a similar way,
we may want to coordinate.

> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
> ---
> arch/powerpc/include/asm/vdso_datapage.h | 24 +++++++-----------------
> arch/powerpc/kernel/vdso.c | 16 ++++++++++------
> arch/powerpc/kernel/vdso/cacheflush.S | 2 +-
> arch/powerpc/kernel/vdso/datapage.S | 4 ++--
> arch/powerpc/kernel/vdso/getrandom.S | 3 +--
> arch/powerpc/kernel/vdso/gettimeofday.S | 5 ++---
> arch/powerpc/kernel/vdso/vdso32.lds.S | 2 +-
> arch/powerpc/kernel/vdso/vdso64.lds.S | 2 +-
> 8 files changed, 25 insertions(+), 33 deletions(-)


Thomas