Re: [patch 2/3] x86/vdso: Plug race between mapping and ELF header setup
From: Andy Lutomirski
Date: Mon Apr 10 2017 - 11:56:37 EST
On Mon, Apr 10, 2017 at 8:14 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> The vsyscall32 sysctl can racy against a concurrent fork when it switches
> from disabled to enabled:
>
> arch_setup_additional_pages()
> if (vdso32_enabled)
> --> No mapping
> sysctl.vsysscall32()
> --> vdso32_enabled = true
> create_elf_tables()
> ARCH_DLINFO_IA32
> if (vdso32_enabled) {
> --> Add VDSO entry with NULL pointer
>
> Make ARCH_DLINFO_IA32 check whether the VDSO mapping has been set up for
> the newly forked process or not.
Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>