[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <eec6b477-67b5-49d6-b6f4-dd2c242b9bdb@zytor.com>
Date: Wed, 11 Oct 2023 16:20:06 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Dmitry Safonov <dima@...sta.com>, linux-kernel@...r.kernel.org
Cc: Dmitry Safonov <0x7f454c46@...il.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
Arnd Bergmann <arnd@...db.de>, Borislav Petkov <bp@...en8.de>,
Catalin Marinas <catalin.marinas@....com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Guo Ren <guoren@...nel.org>, Ingo Molnar <mingo@...hat.com>,
Oleg Nesterov <oleg@...hat.com>,
Russell King <linux@...linux.org.uk>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Thomas Gleixner <tglx@...utronix.de>,
Vincenzo Frascino <vincenzo.frascino@....com>,
Will Deacon <will@...nel.org>, x86@...nel.org
Subject: Re: [PATCH v3 00/23] Add generic vdso_base tracking
On 6/11/21 11:02, Dmitry Safonov wrote:
>
> Patches set is based on linux-next (next-20201123) and it depends on
> changes in x86/cleanups (those reclaim TIF_IA32/TIF_X32) and also
> on my changes in akpm (fixing several mremap() issues).
>
> Logically, the patches set divides on:
> - patch 1: a cleanup for patches in x86/cleanups
> - patches 2-13: cleanups for arch_setup_additional_pages()
> - patches 13-14: x86 signal changes for unmapped vdso
> - patches 15-22: provide generic vdso_base in mm_struct
> - patch 23: selftest for unmapped vDSO & fast syscalls
>
> In the end, besides cleanups, it's now more predictable what happens for
> applications with unmapped vdso on architectures those support .mremap()
> for vdso/sigpage.
>
> I'm aware of only one user that unmaps vdso - Valgrind [2].
> (there possibly are more, but this one is "special", it unmaps vdso, but
> not vvar, which confuses CRIU [Checkpoint Restore In Userspace], that's
> why I'm aware of it)
>
There was another discussion that might be relevant: actually
associating the vdso with an actual file, and allowing a program to map
said file normally if it want access to one that it normally wouldn't
have (say, /proc/vdso/x86_64.so versus /proc/vdso/i386.so on the same
system.)
The "catch", of course, is that this file will need to be mapped as
MAP_SHARED because of vdso data.
-hpa
Powered by blists - more mailing lists