Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp5295486yba; Wed, 8 May 2019 10:51:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqwoUQIYYIDtqV2MpPnUJibLB2kyzhxdjY97UPBjcV+fMjX5CmgTz3drn+CoJMSQj3x6jmZ9 X-Received: by 2002:a63:ca0b:: with SMTP id n11mr47711212pgi.442.1557337880130; Wed, 08 May 2019 10:51:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557337880; cv=none; d=google.com; s=arc-20160816; b=kcI2PuRc3JZfl4EmqfokN/P/unpeGSA7mEEXFA7jyPCFZfukGlTHbfH6nuM5O45GUO xTVL5+PdmHDvBvUm+Kay+KCQYcL+dTZBZYC7ChZyHSJ0DIIuOwkDBAeTxHwX0Pi//EDI x0PjoOHEdu8Bwzg3Erim4fDbyhLIDNrDUZEwZmgIcFzb6MaGiHsH2Sww/AXgyCbNpcvL kET2C+qhCfSQzsvHXbx/6w9SnyQHffVVD3Dste7Xo7ikBH+rKnXftBHeEzW0juGQgSYw VzMlFoawfmBaYWQTmkgGYpfdHvFl8mY2X/V9/VBEWiZumLwOqKH105BIpOg4YXN+S7eI zzOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=whhOolAHTlaxfWzcWWEL00EA4nVoS8xgo9BEXW/kTlE=; b=eUJwO4otTQ9xdFp6oCP6npYKfJ/mUBcJMsQcLHm1oJUSgOMSHTyAry9yHjAu6y05sb UqRlbeXG6v4o2yOqdsOigA5QSrbfgx0xH6w8TNeS1sbWRvez0D2KePQcr428Yq0BYTYZ z5OJgrepoXEbMXdCb8FAEi2BMS+07KxB4lyzbCTMKYja7+tef2gsQaqZrYxHiysBmGr9 TyZeHgPMVT5cyYIEoGaS65pXWqBsbbTff0inUhCMrr/F0s9KjBODw7hqwk304S3E3Du5 zxGv5b+eBSt/B7nNFjsm6VghP1sCwVFOXyTbAfBNQdG0gMNztYbQi0yx5FWGnvgBoKIs +ysg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 74si22450409pgb.203.2019.05.08.10.51.04; Wed, 08 May 2019 10:51:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728303AbfEHQhy (ORCPT + 99 others); Wed, 8 May 2019 12:37:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:50560 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727502AbfEHQhy (ORCPT ); Wed, 8 May 2019 12:37:54 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4E5BB216F4; Wed, 8 May 2019 16:37:50 +0000 (UTC) Date: Wed, 8 May 2019 12:37:48 -0400 From: Steven Rostedt To: Linus Torvalds Cc: Josh Poimboeuf , Peter Zijlstra , Andy Lutomirski , Linux List Kernel Mailing , Ingo Molnar , Andrew Morton , Andy Lutomirski , Nicolai Stange , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , "the arch/x86 maintainers" , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Shuah Khan , Konrad Rzeszutek Wilk , Tim Chen , Sebastian Andrzej Siewior , Mimi Zohar , Juergen Gross , Nick Desaulniers , Nayna Jain , Masahiro Yamada , Joerg Roedel , "open list:KERNEL SELFTEST FRAMEWORK" , stable , Masami Hiramatsu Subject: Re: [RFC][PATCH 1/2] x86: Allow breakpoints to emulate call functions Message-ID: <20190508123748.1737b8b5@gandalf.local.home> In-Reply-To: References: <20190506225819.11756974@oasis.local.home> <20190506232158.13c9123b@oasis.local.home> <20190507111227.1d4268d7@gandalf.local.home> <20190507163440.GV2606@hirez.programming.kicks-ass.net> <20190507172159.5t3bm3mjkwagvite@treble> <20190507172418.67ef6fc3@gandalf.local.home> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 7 May 2019 21:50:52 -0700 Linus Torvalds wrote: > > It's been a bane of mine for some time. > > Guys, I have basically a one-liner patch for your hangups. > > It's called "rename 'sp' to 'user_sp' on x86-32". > > Then we make the 'sp' field on x86-64 be a union, so that you can call > it user_sp or sp as you wish. > > Yeah, it's really more than one line, because obviously the users will > need chaning, but honestly, that would be a _real_ cleanup. Make the > register match what it actually is. But is it? Sure, it will be a reminder that it's different for x86-32, but that still doesn't take away the fact that pt_regs on x86_32 is an anomaly! Where else do we have part of a data structure that can't be read because it can possibly fault? If regs is a valid pointer, one would think that simply reading regs->sp (or regs->user_sp) would be no more dangerous than reading regs->ip. The difference between entry_32.S from entry_64.S causes it to spill into C code, making the x86_64 code more difficult to deal with. Sure, 10 to 15 years ago, all your arguments would make sense. But today, who uses x86_32? Perhaps you may use it in a VM, but I asked a few developers when was the last time they used one, they told me 5 to 7 years ago. I only boot x86_32 to test to make sure I didn't break it. Yes, your diffstat is really nice to the changes to entry_32.S, but at what cost? To make the x86_64 code more complex? That whole returning the regs in the int3 handler makes no sense on x86_64, but yet we would need to do it to handle x86_32. Why burden the architecture of today and tomorrow with the architecture of yesterday? x86_32 is becoming more obsolete by the day. It baffles me why we wouldn't want to contain its complexity in a single file then to spread it out like wildfire across the generic x86 code. The ®s->sp hack is just one more rung in the complex learning curve ladder of becoming a Linux kernel developer. -- Steve