Re: [PATCH 1/6] arm64/vdso: use the fault callback to map vvar pages

From: Catalin Marinas
Date: Fri Jul 24 2020 - 13:26:29 EST


On Wed, 24 Jun 2020 01:33:16 -0700, Andrei Vagin wrote:
> Currently the vdso has no awareness of time namespaces, which may
> apply distinct offsets to processes in different namespaces. To handle
> this within the vdso, we'll need to expose a per-namespace data page.
>
> As a preparatory step, this patch separates the vdso data page from
> the code pages, and has it faulted in via its own fault callback.
> Subsquent patches will extend this to support distinct pages per time
> namespace.
>
> [...]

Applied to arm64 (for-next/timens), provisionally.

One potential issue I did not check is the compat vDSO. The arm32 port
does not support timens currently. IIUC, with these patches and
COMPAT_VDSO enabled, it will allow timens for compat processes. Normally
I'd like the arm32 support first before updating compat but I don't
think there would be any interface incompatibility here.

However, does this still work for arm32 processes if COMPAT_VDSO is
disabled in the arm64 kernel?

[1/6] arm64/vdso: use the fault callback to map vvar pages
https://git.kernel.org/arm64/c/d53b5c013e1e
[2/6] arm64/vdso: Zap vvar pages when switching to a time namespace
https://git.kernel.org/arm64/c/1b6867d2916b
[3/6] arm64/vdso: Add time namespace page
https://git.kernel.org/arm64/c/3503d56cc723
[4/6] arm64/vdso: Handle faults on timens page
https://git.kernel.org/arm64/c/ee3cda8e4606
[5/6] arm64/vdso: Restrict splitting VVAR VMA
https://git.kernel.org/arm64/c/bcf996434240
[6/6] arm64: enable time namespace support
https://git.kernel.org/arm64/c/9614cc576d76

Thanks!

--
Catalin