Re: [PATCH] powerpc/vdso: Fix VDSO unmap check

From: Christophe Leroy
Date: Wed Mar 09 2022 - 10:51:09 EST




Le 03/11/2020 à 18:13, Laurent Dufour a écrit :
The check introduced by the commit 83d3f0e90c6c ("powerpc/mm: tracking vDSO
remap") is wrong and is missing some partial unmaps of the VDSO.

To be complete the check needs the base and end address of the
VDSO. Currently only the base is available in the mm_context of a task, but
the end address can easily be computed because the size of VDSO is
constant. However, there are 2 sizes for 32 or 64 bits task and they are
stored in static variables in arch/powerpc/kernel/vdso.c.

Exporting a new function called vdso_pages() to get the number of pages of
the VDSO based on the static variables from arch/powerpc/kernel/vdso.c.

Fixes: 83d3f0e90c6c ("powerpc/mm: tracking vDSO remap")

Signed-off-by: Laurent Dufour <ldufour@xxxxxxxxxxxxx>
Reported-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Suggested-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
Cc: Paul Mackerras <paulus@xxxxxxxxx>
---
arch/powerpc/include/asm/mmu_context.h | 18 ++++++++++++++++--
arch/powerpc/kernel/vdso.c | 14 ++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)

This patch doesn't apply anymore.

In the meantime there's a pending series from Dmitry, so I'm wondering if it is worth rebasing this series or not.

Christophe