Messages in this thread | | | Date | Mon, 22 Aug 2011 16:13:05 +0100 | From | Al Viro <> | Subject | Re: [uml-devel] SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) |
| |
On Mon, Aug 22, 2011 at 04:40:51PM +0200, Borislav Petkov wrote:
> Just to make sure I'm grokking this correctly - we want to use int $0x80 > only for the SYSCALL variant in __kernel_vsyscall, right? Not for all > 32-bit syscalls on a 64-bit kernel.
Um... The problem is, syscall restart with SYSCALL insn is badly broken; we end up with arg2 (expected by SYSCALL in %ebp) overwritten with arg6 by IRET path. With obvious nasty results.
In __kernel_vsyscall() the problem is possible to deal with; there we control the code around that sucker. It's SYSCALL in 32bit binary outside of vdso32 that causes real PITA...
| |