From: "H. Peter Anvin" <hpa@zytor.com> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: Al Viro <viro@zeniv.linux.org.uk>, Andrew Lutomirski <luto@mit.edu>, mingo@redhat.com, Richard Weinberger <richard@nod.at>, user-mode-linux-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) Date: Sun, 21 Aug 2011 18:48:31 -0700 [thread overview] Message-ID: <4E51B56F.3080301@zytor.com> (raw) In-Reply-To: <CA+55aFz1jCZGcQ-c6uGN=k8nKDuGoz5g8e+pxpYAg4X_p7=5Mw@mail.gmail.com> On 08/21/2011 06:41 PM, Linus Torvalds wrote: > If people are using syscall directly, we're pretty much stuck. No > amount of "that's hopelessly wrong" will ever matter. We don't break > existing binaries. > > That said, I'd *hope* that everybody uses the vdso32, simply because > user programs are not supposed to know which CPU they are running on > and if that CPU even *supports* the syscall instruction. In which case > it may be possible that we can play games with the vdso thing. But > that really would be conditional on "nobody ever reports a failure". I think we found that out with the vsyscall emulation issue last cycle. It works, so it will have been used, somewhere... > But if that's possible, maybe we can increment the RIP by 2 for > 'syscall', and slip an "'int 0x80" after the syscall instruction in > the vdso there? Resulting in the same pseudo-solution I suggested for > sysenter... I think we have the above problem. The problem here is that the syscall state is actually more complex than we retain: the entire state is given by (entry point, register state); with that amount of state we have all the information needed to *either* extract the syscall arguments *or* the register contents. Without those, we can only represent one of the two possible metalevels (right now we represent the higher-level metalevel, the argument vector), but we need both for different usages. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
WARNING: multiple messages have this Message-ID (diff)
From: "H. Peter Anvin" <hpa@zytor.com> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Lutomirski <luto@mit.edu>, user-mode-linux-devel@lists.sourceforge.net, Richard Weinberger <richard@nod.at>, linux-kernel@vger.kernel.org, mingo@redhat.com, Al Viro <viro@zeniv.linux.org.uk> Subject: Re: [uml-devel] SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) Date: Sun, 21 Aug 2011 18:48:31 -0700 [thread overview] Message-ID: <4E51B56F.3080301@zytor.com> (raw) In-Reply-To: <CA+55aFz1jCZGcQ-c6uGN=k8nKDuGoz5g8e+pxpYAg4X_p7=5Mw@mail.gmail.com> On 08/21/2011 06:41 PM, Linus Torvalds wrote: > If people are using syscall directly, we're pretty much stuck. No > amount of "that's hopelessly wrong" will ever matter. We don't break > existing binaries. > > That said, I'd *hope* that everybody uses the vdso32, simply because > user programs are not supposed to know which CPU they are running on > and if that CPU even *supports* the syscall instruction. In which case > it may be possible that we can play games with the vdso thing. But > that really would be conditional on "nobody ever reports a failure". I think we found that out with the vsyscall emulation issue last cycle. It works, so it will have been used, somewhere... > But if that's possible, maybe we can increment the RIP by 2 for > 'syscall', and slip an "'int 0x80" after the syscall instruction in > the vdso there? Resulting in the same pseudo-solution I suggested for > sysenter... I think we have the above problem. The problem here is that the syscall state is actually more complex than we retain: the entire state is given by (entry point, register state); with that amount of state we have all the information needed to *either* extract the syscall arguments *or* the register contents. Without those, we can only represent one of the two possible metalevels (right now we represent the higher-level metalevel, the argument vector), but we need both for different usages. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. ------------------------------------------------------------------------------ uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2011-08-22 1:49 UTC|newest] Thread overview: 161+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-18 18:58 Subject: [PATCH 00/91] pending uml patches Al Viro 2011-08-18 18:58 ` [uml-devel] " Al Viro 2011-08-18 19:12 ` Richard Weinberger 2011-08-18 19:12 ` [uml-devel] " Richard Weinberger 2011-08-18 19:19 ` Al Viro 2011-08-18 19:19 ` [uml-devel] " Al Viro 2011-08-19 4:31 ` Al Viro 2011-08-19 8:51 ` Richard Weinberger 2011-08-19 8:51 ` [uml-devel] " Richard Weinberger 2011-08-20 1:18 ` [RFC] weird crap with vdso on uml/i386 Al Viro 2011-08-20 15:22 ` Richard Weinberger 2011-08-20 20:14 ` Al Viro 2011-08-20 20:14 ` [uml-devel] " Al Viro 2011-08-20 20:55 ` Richard Weinberger 2011-08-20 21:26 ` Andrew Lutomirski 2011-08-20 21:26 ` Andrew Lutomirski 2011-08-20 21:38 ` Richard Weinberger 2011-08-20 21:38 ` [uml-devel] " Richard Weinberger 2011-08-20 21:40 ` Andrew Lutomirski 2011-08-20 21:40 ` [uml-devel] " Andrew Lutomirski 2011-08-21 6:34 ` Al Viro 2011-08-21 6:34 ` [uml-devel] " Al Viro 2011-08-21 8:42 ` SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) Al Viro 2011-08-21 8:42 ` [uml-devel] " Al Viro 2011-08-21 11:24 ` Andrew Lutomirski 2011-08-21 11:24 ` [uml-devel] " Andrew Lutomirski 2011-08-21 13:37 ` Andrew Lutomirski 2011-08-21 13:37 ` [uml-devel] " Andrew Lutomirski 2011-08-21 14:51 ` Al Viro 2011-08-21 14:51 ` [uml-devel] " Al Viro 2011-08-21 14:43 ` Al Viro 2011-08-21 16:41 ` Al Viro 2011-08-21 16:41 ` [uml-devel] " Al Viro 2011-08-22 0:44 ` Andrew Lutomirski 2011-08-22 0:44 ` Andrew Lutomirski 2011-08-22 1:09 ` Linus Torvalds 2011-08-22 1:19 ` Al Viro 2011-08-22 1:19 ` [uml-devel] " Al Viro 2011-08-22 1:19 ` H. Peter Anvin 2011-08-22 1:19 ` [uml-devel] " H. Peter Anvin 2011-08-22 21:25 ` [tip:x86/urgent] x86-32, vdso: On system call restart after SYSENTER, use int $0x80 tip-bot for H. Peter Anvin 2011-08-23 23:40 ` tip-bot for H. Peter Anvin 2011-08-22 1:16 ` SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) Al Viro 2011-08-22 1:16 ` [uml-devel] " Al Viro 2011-08-22 1:41 ` Linus Torvalds 2011-08-22 1:41 ` [uml-devel] " Linus Torvalds 2011-08-22 1:48 ` H. Peter Anvin [this message] 2011-08-22 1:48 ` H. Peter Anvin 2011-08-22 2:01 ` Andrew Lutomirski 2011-08-22 2:01 ` [uml-devel] " Andrew Lutomirski 2011-08-22 2:07 ` Al Viro 2011-08-22 2:07 ` [uml-devel] " Al Viro 2011-08-22 2:26 ` Andrew Lutomirski 2011-08-22 2:26 ` [uml-devel] " Andrew Lutomirski 2011-08-22 2:34 ` H. Peter Anvin 2011-08-22 2:34 ` [uml-devel] " H. Peter Anvin 2011-08-22 4:05 ` H. Peter Anvin 2011-08-22 4:05 ` [uml-devel] " H. Peter Anvin 2011-08-22 9:53 ` Ingo Molnar 2011-08-22 13:34 ` Andrew Lutomirski 2011-08-22 13:34 ` Andrew Lutomirski 2011-08-22 14:40 ` Borislav Petkov 2011-08-22 14:40 ` Borislav Petkov 2011-08-22 15:13 ` Al Viro 2011-08-22 15:13 ` Al Viro 2011-08-22 20:05 ` Linus Torvalds 2011-08-22 20:05 ` Linus Torvalds 2011-08-22 20:11 ` H. Peter Anvin 2011-08-22 20:11 ` H. Peter Anvin 2011-08-22 21:52 ` Andrew Lutomirski 2011-08-22 21:52 ` Andrew Lutomirski 2011-08-22 22:04 ` H. Peter Anvin 2011-08-22 22:04 ` H. Peter Anvin 2011-08-22 23:27 ` Linus Torvalds 2011-08-22 23:46 ` H. Peter Anvin 2011-08-22 23:46 ` H. Peter Anvin 2011-08-23 0:03 ` Al Viro 2011-08-23 0:03 ` Al Viro 2011-08-23 0:07 ` Al Viro 2011-08-23 0:07 ` Al Viro 2011-08-23 0:07 ` H. Peter Anvin 2011-08-23 0:07 ` H. Peter Anvin 2011-08-23 0:22 ` Linus Torvalds 2011-08-23 0:22 ` Linus Torvalds 2011-08-23 1:01 ` Al Viro 2011-08-23 1:13 ` Al Viro 2011-08-23 1:13 ` Al Viro 2011-08-23 1:59 ` Linus Torvalds 2011-08-23 1:59 ` Linus Torvalds 2011-08-23 2:59 ` Al Viro 2011-08-23 2:59 ` Al Viro 2011-08-23 2:17 ` Al Viro 2011-08-23 6:15 ` Al Viro 2011-08-23 14:26 ` Borislav Petkov 2011-08-23 16:30 ` Al Viro 2011-08-23 16:30 ` Al Viro 2011-08-23 16:03 ` Linus Torvalds 2011-08-23 16:03 ` Linus Torvalds 2011-08-23 16:11 ` Andrew Lutomirski 2011-08-23 16:11 ` Andrew Lutomirski 2011-08-23 16:20 ` Linus Torvalds 2011-08-23 16:20 ` Linus Torvalds 2011-08-23 17:33 ` Al Viro 2011-08-23 17:33 ` Al Viro 2011-08-23 18:04 ` Al Viro 2011-08-23 18:04 ` Al Viro 2011-08-24 12:44 ` [PATCH] x86, asm: Document some of the syscall asm glue Borislav Petkov 2011-08-23 16:22 ` [uml-devel] SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) Borislav Petkov 2011-08-23 16:29 ` Linus Torvalds 2011-08-23 16:53 ` Al Viro 2011-08-23 16:53 ` Al Viro 2011-08-23 16:58 ` Richard Weinberger 2011-08-23 16:58 ` Richard Weinberger 2011-08-23 17:07 ` Al Viro 2011-08-23 17:07 ` Al Viro 2011-08-23 17:29 ` Richard Weinberger 2011-08-23 17:29 ` Richard Weinberger 2011-08-25 0:05 ` Richard Weinberger 2011-08-23 19:15 ` H. Peter Anvin 2011-08-23 19:15 ` H. Peter Anvin 2011-08-23 20:56 ` Borislav Petkov 2011-08-23 21:06 ` H. Peter Anvin 2011-08-23 21:10 ` Borislav Petkov 2011-08-23 23:04 ` H. Peter Anvin 2011-08-23 23:04 ` H. Peter Anvin 2011-08-24 21:10 ` H. Peter Anvin 2011-08-24 21:10 ` H. Peter Anvin 2011-08-23 16:48 ` Al Viro 2011-08-23 16:48 ` Al Viro 2011-08-23 17:33 ` Linus Torvalds 2011-08-23 17:33 ` Linus Torvalds 2011-08-23 21:08 ` H. Peter Anvin 2011-08-23 21:08 ` H. Peter Anvin 2011-08-23 21:20 ` Linus Torvalds 2011-08-23 21:20 ` Linus Torvalds 2011-08-23 23:04 ` H. Peter Anvin 2011-08-23 23:04 ` H. Peter Anvin 2011-08-23 19:18 ` H. Peter Anvin 2011-08-23 19:18 ` H. Peter Anvin 2011-08-23 19:24 ` Linus Torvalds 2011-08-23 19:24 ` Linus Torvalds 2011-08-23 19:26 ` H. Peter Anvin 2011-08-23 19:26 ` H. Peter Anvin 2011-08-23 19:41 ` Al Viro 2011-08-23 19:41 ` Al Viro 2011-08-23 19:43 ` Linus Torvalds 2011-08-23 19:43 ` Linus Torvalds 2011-08-23 21:17 ` Al Viro 2011-08-23 21:17 ` Al Viro 2011-08-23 1:16 ` Andrew Lutomirski 2011-08-23 1:18 ` H. Peter Anvin 2011-08-23 1:18 ` H. Peter Anvin 2011-08-22 4:07 ` Al Viro 2011-08-22 4:11 ` H. Peter Anvin 2011-08-22 4:11 ` [uml-devel] " H. Peter Anvin 2011-08-22 4:26 ` Al Viro 2011-08-22 4:26 ` [uml-devel] " Al Viro 2011-08-22 5:03 ` H. Peter Anvin 2011-08-22 5:03 ` [uml-devel] " H. Peter Anvin 2011-08-23 5:10 ` Andrew Lutomirski 2011-08-23 5:10 ` [uml-devel] " Andrew Lutomirski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=4E51B56F.3080301@zytor.com \ --to=hpa@zytor.com \ --cc=linux-kernel@vger.kernel.org \ --cc=luto@mit.edu \ --cc=mingo@redhat.com \ --cc=richard@nod.at \ --cc=torvalds@linux-foundation.org \ --cc=user-mode-linux-devel@lists.sourceforge.net \ --cc=viro@zeniv.linux.org.uk \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.