Ingo Molnar wrote: > * Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote: > > >> AFAICT we'll pay one extra TLB entry for this patch. Zach had a patch >> which left the vsyscall page at the top of memory (minus hole for >> hypervisor) and patched the ELF header at boot. >> > > i'd suggest the solution from exec-shield (which has been there for a > long time), which also randomizes the vsyscall vma. Exploits are already > starting to use the vsyscall page (with predictable addresses) to > circumvent randomization, it provides 'interesting' instructions to act > as a syscall-functionality building block. Moving that address to > another predictable place solves the virtualization problem, but doesnt > solve the address-space randomization problem. > Let's dive into it. How do you get the randomization without sacrificing syscall performance? Do you randomize on boot, dynamically, or on a per-process level? Because I can see some issues with per-process randomization that will certainly cost some amount of cycles on the system call path. Marginal perhaps, but that is exactly where you don't want to shed cycles unnecessarily, and the complexity of the whole thing will go up quite a bit I think. Zach