On 05/23/2014 09:40 AM, Andy Lutomirski wrote:
I don't think this should be something configured by the
administrator, unless the administrator is the builder of a kiosky
thing like Chromium OS. In that case, the administrator can use
vsyscall=none.
I think this should be handled by either libc or the toolchain, hence
the suggestions of a syscall or an ELF header.
We could mimic the NX stack stuff, but it would have a lot of false
negatives, simply because very few things would actually poke at the
vsyscall page.
The NX stuff uses a dummy program header in the ELF image.
On the other hand, you could make the argument that anything compiled
with a new toolchain simply should not use the vsyscall page, and just
unconditionally set the opt-out bit (header) in question.
It might be better to have some kind of flags field (which a number of
architectures use) than keep using dummy program headers, though.
-hpa