Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 13 Mar 2014 12:13:17 -0700 | Subject | Re: [PATCH 3/3] x86, vdso32: handle 32 bit vDSO larger one page |
| |
On Thu, Mar 13, 2014 at 12:06 PM, Linus Torvalds <torvalds@linux-foundation.org> 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
| |