Re: [PATCH] Gerd Hoffman's move-vsyscall-into-user-address-rangepatch
From: Zachary Amsden
Date: Tue May 16 2006 - 04:23:27 EST
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
-
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/