From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757583AbbDVUMz (ORCPT ); Wed, 22 Apr 2015 16:12:55 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:39567 "EHLO relay4-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753391AbbDVUMu (ORCPT ); Wed, 22 Apr 2015 16:12:50 -0400 X-Originating-IP: 98.158.13.35 Date: Wed, 22 Apr 2015 13:12:41 -0700 From: Josh Triplett To: Linus Torvalds Cc: Andy Lutomirski , Denys Vlasenko , Ingo Molnar , Steven Rostedt , Borislav Petkov , "H. Peter Anvin" , Oleg Nesterov , Frederic Weisbecker , Alexei Starovoitov , Will Drewry , Kees Cook , X86 ML , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 2/2] x86/asm/entry/32: Remove unnecessary optimization in stub32_clone Message-ID: <20150422201241.GA954@jtriplet-mobl1> References: <1429720808-7173-1-git-send-email-dvlasenk@redhat.com> <1429720808-7173-2-git-send-email-dvlasenk@redhat.com> <20150422171005.GA1020@jtriplet-mobl1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 22, 2015 at 11:22:02AM -0700, Linus Torvalds wrote: > On Wed, Apr 22, 2015 at 10:10 AM, Josh Triplett wrote: > > > > I do think my two-patch HAVE_COPY_THREAD_TLS series should go in fixing > > this > > Ugh, I absolutely detesrt that patch. > > Don't make random crazy function signatures that depend on some config > option. That's just evil. The patch is a mess of #ifdef's and should > be shot in the head and staked with a silver stake to make sure it > never re-appears. > > Either: > > (a) make the change for every architecture > > (b) have side-by-side interfaces. With different names! ...that's exactly what I did. They're called copy_thread and copy_thread_tls; I very intentionally did not conditionally change the signature of copy_thread, for exactly that reason. Those functions are implemented in architecture-specific code, so the config option just specifies which of the two functions the architecture provides. *sys_clone* has different function signatures based on config options, but I didn't touch that other than fixing the type of the tls argument. That's historical baggage that we can't throw away without breaking userspace. - Josh Triplett