Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752156AbbKITnP (ORCPT ); Mon, 9 Nov 2015 14:43:15 -0500 Received: from smtprelay0204.hostedemail.com ([216.40.44.204]:60492 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751353AbbKITnM (ORCPT ); Mon, 9 Nov 2015 14:43:12 -0500 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::,RULES_HIT:41:355:379:541:599:800:960:968:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2198:2199:2393:2553:2559:2562:3138:3139:3140:3141:3142:3354:3622:3865:3866:3867:3868:3870:3871:3872:3873:3874:4250:4470:5007:6261:7875:7903:8660:10004:10400:10848:10967:11026:11232:11473:11658:11914:12050:12296:12438:12517:12519:12663:12740:13069:13148:13161:13229:13230:13311:13357:14096:14097:14659:21080:21212:30012:30034:30054:30070:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: flesh20_1bc679e2ef755 X-Filterd-Recvd-Size: 2989 Date: Mon, 9 Nov 2015 14:43:09 -0500 From: Steven Rostedt To: Andy Lutomirski Cc: Mathieu Desnoyers , Thomas Gleixner , "Anvin, H. Peter" , lttng-dev , LKML Subject: Re: Compat syscall instrumentation and return from execve issue Message-ID: <20151109144309.361ab4e5@gandalf.local.home> In-Reply-To: <5640F406.3020207@kernel.org> References: <2095400880.57684.1447011457513.JavaMail.zimbra@efficios.com> <20151109110536.7bce67e8@gandalf.local.home> <5640F406.3020207@kernel.org> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.28; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2147 Lines: 46 On Mon, 9 Nov 2015 11:29:10 -0800 Andy Lutomirski wrote: > > I'm thinking the TS_EXECVE flag would be the least intrusive. Add a > > comment that it is used by tracepoints to map between compat and > > non-compat syscalls when execve switches the flag. This would not need > > to touch any of the logic of the hotpaths within the systemcalls > > themselves. > > Let's make it really simple: add an 'unsigned int arch' to > syscall_return_slowpath. As of last week, Linus' tree sends all compat > returns, without exception (except brand new children, depending on your > point of view), through that path, and the caller always knows the > architecture. > > But keep in mind that any games you play here are going to get > completely and utterly screwed up if anyone is playing with ptrace to > change syscall numbers. You'd also going to have problems with syscall > restart, sigreturn, etc, so it would be nice to have an argument that > the putative solution solves the problem for real instead of just adding > complexity to paper it over. > > Meanwhile, I'm trying to remove all of the magic from the handling of > execve, and I'm half-way there. Let's please not add more, especially > if that magic needs to touch asm code. The solution I suggested wouldn't touch any asm code. The only change would be to reserve the TS_EXECVE flag. Actually, come to think of it, we could have Mathieu's TS_ORIG_COMPAT flag, and still only have the tracepoint syscall set it, such that the matching tracepoint syscall exit would know that the initial call was COMPAT or not. The goal is only to make sure that the system call exit tracepoint matches the system call enter tracepoint. The system call enter would set or clear the TS_ORIG_COMPAT if the TS_COMPAT is set when entering the system call, and it would check that flag when exiting the system call. -- Steve -- 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/