Re: [PATCH 3/3] x86, vdso32: handle 32 bit vDSO larger one page

From: Andy Lutomirski
Date: Thu Mar 13 2014 - 15:13:50 EST


On Thu, Mar 13, 2014 at 12:06 PM, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On my phone, so the lists will reject this, and sorry for top posting.
>
> Maybe we could do something similar to the vsyscall=native thing, where the
> compat vdso just does the system calls, but at least uses syscall rather
> than int80 when appropriate? Make the suse situation not suck horribly...

How? We either set null in AT_SYSINFO_EHDR, we set something simple
that SuSE is okay with (and compile separate images?) or we set
something fancy and not relocated, and SuSE crashes.

At least for the 64-bit vsyscall case, modern code is polite enough to
completely ignore the vsyscall page. Unfortunately, modern 32-bit
glibc looks at the exact same AT_SYSINFO_EHDR.

If the syscall overhead is that bad, the dynamic relocation approach
might be better...

On a related note: is it okay to keep the option called
CONFIG_COMPAT_VDSO but change the default to n? The assumption is
that everyone with OpenSUSE already has a working config, but new
defconfig users will get the better choice?

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/