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