From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756151Ab2ATXuA (ORCPT ); Fri, 20 Jan 2012 18:50:00 -0500 Received: from smarthost1.greenhost.nl ([195.190.28.78]:44927 "EHLO smarthost1.greenhost.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753663Ab2ATXt6 (ORCPT ); Fri, 20 Jan 2012 18:49:58 -0500 Message-ID: In-Reply-To: <4F19EDAF.2000109@zytor.com> References: <20120116183730.GB21112@redhat.com> <20120118020453.GL7180@jl-vm1.vm.bytemark.co.uk> <20120118022217.GS11715@one.firstfloor.org> <4F1731C1.4050007@zytor.com> <4F1733DF.7040905@zytor.com> <4F1737C9.3070905@zytor.com> <4F173F48.2070604@zytor.com> <4F176605.5020101@zytor.com> <4F19EDAF.2000109@zytor.com> Date: Sat, 21 Jan 2012 00:49:24 +0100 Subject: Re: Compat 32-bit syscall entry from 64-bit task!? From: "Indan Zupancic" To: "H. Peter Anvin" Cc: "Roland McGrath" , "Denys Vlasenko" , "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 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: a350ae07b5350cdad28cef237d2e7179 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, January 20, 2012 23:41, H. Peter Anvin wrote: > On 01/20/2012 02:40 PM, Roland McGrath wrote: >> If you change the size of a regset, then the new full size will be the size >> of the core file notes. Existing userland tools will not be expecting >> this, they expect a known exact size. If you need to add new stuff, it >> really is easier all around to add a new regset flavor. When adding a new >> one, you can make it variable-sized from the start so as to be extensible >> in the future. We did this for NT_X86_XSTATE, for example. >> > > Yes, that definitely seems cleaner. I would prefer Linus' way of just stuffing it into cs. Jamie also wanted a bit telling in what mode the userspace is running. That's 3 bits in total, with one bit telling whether the other bits are valid or not. Anything else? Maybe a bit telling whether it is syscall entry or exit? As all this is very x86_64 specific and cs is already used to figure out the mode, it seems overkill to add a new regset just for this. It's a lot easier for existing code to add an extra cs check than to use different register sets and different ptrace commands. Considering that PTRACE_GETREGSET is undocumented it's likely that existing code isn't using it much. Greetings, Indan