Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932664Ab2BJWms (ORCPT ); Fri, 10 Feb 2012 17:42:48 -0500 Received: from smarthost1.greenhost.nl ([195.190.28.78]:43093 "EHLO smarthost1.greenhost.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932623Ab2BJWmg (ORCPT ); Fri, 10 Feb 2012 17:42:36 -0500 Message-ID: In-Reply-To: <4F353D65.7070705@zytor.com> References: <20120116183730.GB21112@redhat.com> <4F3007AD.50307@zytor.com> <4F33110D.3050904@zytor.com> <13c2c571244c71c2ba87451987805eed.squirrel@webmail.greenhost.nl> <4F334B8C.2050005@zytor.com> <4F346FB0.9070203@zytor.com> <19ac5d5293110612dc17c514bc7e1ccd.squirrel@webmail.greenhost.nl> <4F353D65.7070705@zytor.com> Date: Fri, 10 Feb 2012 23:42:01 +0100 Subject: Re: Compat 32-bit syscall entry from 64-bit task!? From: "Indan Zupancic" To: "H. Peter Anvin" Cc: "H.J. Lu" , "Linus Torvalds" , "Andi Kleen" , "Jamie Lokier" , "Andrew Lutomirski" , "Oleg Nesterov" , "Will Drewry" , linux-kernel@vger.kernel.org, keescook@chromium.org, john.johansen@canonical.com, serge.hallyn@canonical.com, coreyb@linux.vnet.ibm.com, pmoore@redhat.com, eparis@redhat.com, djm@mindrot.org, segoon@openwall.com, rostedt@goodmis.org, jmorris@namei.org, scarybeasts@gmail.com, avi@redhat.com, penberg@cs.helsinki.fi, viro@zeniv.linux.org.uk, mingo@elte.hu, akpm@linux-foundation.org, khilman@ti.com, borislav.petkov@amd.com, amwang@redhat.com, ak@linux.intel.com, eric.dumazet@gmail.com, gregkh@suse.de, dhowells@redhat.com, daniel.lezcano@free.fr, linux-fsdevel@vger.kernel.org, linux-security-module@vger.kernel.org, olofj@chromium.org, mhalcrow@google.com, dlaor@redhat.com, "Roland McGrath" User-Agent: SquirrelMail/1.4.22 MIME-Version: 1.0 Content-Type: text/plain;charset=UTF-8 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) Importance: Normal X-Spam-Score: 1.4 X-Scan-Signature: 76f3589a93270604ea078d468a2051b3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1814 Lines: 44 On Fri, February 10, 2012 16:53, H. Peter Anvin wrote: > On 02/09/2012 11:42 PM, Indan Zupancic wrote:> >> Patch implementing this below. It uses bit 3 for task mode and bit 5 >> for syscall mode. Those bits are only valid if VIF is set. It increases >> the kernel size by around 50 bytes, 6 for a 32-bit kernel. >> >> Any objections? > > #include Could you please elaborate? Is it just the stealing of eflags bits that irks you or are there technical problems too? I understand some people would prefer a new regset, but that would force everyone to use PTRACE_GETREGSET instead of whatever they are using now. The problem with that is that not all archs support PTRACE_GETREGSET, so the user space ptrace code needs to use different ptrace calls depending on the architecture for no good reason. If PEEK_USER works then it's less of a problem, then it's one extra ptrace call compared to the eflag way if PTRACE_GETREGS is used. If this new info is exposed with a special regset instead of being appended to normal regs then one extra ptrace call per system call event needs to be done. You can as well add special x86 ptrace requests then. Or is the main advantage of using a regset that it shows up in coredumps? That would merit the extra effort at least. Stealing eflags bits may be ugly like hell, but it's very simple for both the kernel and user space to implement. I think everyone agrees that this kind of info needs to be exposed somehow. In the end I don't care how it is done, as long as the info is easily available. Greetings, Indan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/