Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4402342ybb; Tue, 7 Apr 2020 06:53:28 -0700 (PDT) X-Google-Smtp-Source: APiQypJrNqOQSCquu+UfboFPbcOr/LZ3c40gI3GS+OOgU3PLaukHbus+s1gOkXdzTGEcIVbYd2Sr X-Received: by 2002:a4a:4c46:: with SMTP id a67mr1957697oob.1.1586267608429; Tue, 07 Apr 2020 06:53:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586267608; cv=none; d=google.com; s=arc-20160816; b=X6CkVVjEBCMpmq63nlPhsb7opEMCT0oBeBZREzEVBQRjEJTwgongYPz18+xggaZvGF /SikfzZSlY3m4M8dIiRXga5EaVGhY0R+PptViJYGy0h0/1KnJE4pwySaj6RFmH8AOE7T QwhaIJKtAOH2iZIQmITu918IH6v52Y79ENGHvZ7psK2qfx66EqI/fVUJSAs7mdvt2ccc uhK0/ZCNR1cxiXkGQFrpnpawxWhcxZ/VV/8Fn1bKlLe9BbqXImNUqRAmIh1MrQRo2zoa sXDr+EkMGeoIFD1OTfWx8lbZfC+8Gv1Cld1/V1UQgZ50TpcBLLtCZ8ox/kcomXg8nIkE b4EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=ialmh1oNZLrhgWKFPrEXktfEmlPtTKu0trjFrs2T2Ck=; b=sDmLU/gZYgSRExgJr83h8WtVaUoZeyY0sEITjf80W9Ptgf9SSg08Z9aQa9aXv/MpUj nRRC66XZcXJpFo6raSalIx3IXm1n0fNJ1nTG0y4iS1STJk980E0i7LmimkChB8ZGikWK ruXtfhW0IS96+TPrV+binV9TuoTgDNwfFuGui/NY4ZiQnyq9zpBlLl4MwT/CF96ENpK0 yqbyM/wud56hqHzvdjsjdfhVjuG5IQgiZB0fsuRf/0mFWbp272jruMr15UeuSH88omVD nS7OLuQ6kf3+tjfdT6f//bXECtfqiwiCt+H7tZ/taatXwEhFZhTrxvZRIkuXruqzCUBd Du3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=JCfpGm5A; 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 v17si1204633otq.250.2020.04.07.06.53.16; Tue, 07 Apr 2020 06:53:28 -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; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=JCfpGm5A; 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 S1728941AbgDGNwS (ORCPT + 99 others); Tue, 7 Apr 2020 09:52:18 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:54798 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728555AbgDGNwS (ORCPT ); Tue, 7 Apr 2020 09:52:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=ialmh1oNZLrhgWKFPrEXktfEmlPtTKu0trjFrs2T2Ck=; b=JCfpGm5ABDoZyrRINyea9As5ry 6mA0K68m+m9rOR5ykUCFTi9JmTJjYgoXBvdLwk3m9UQxUo7I+I0mByn4sTxWyBThdaJ6mlKQG3poy b+42ZWwm4p2jvIW9bnLtf/VwdH9dcAsB9uonIitdwQs8OKJItTjdeiFfIcl48oIw5O6IxXdyV5f3T 8W9Q5+0Uz+SVW4xH5MAbPosSpbDJsmSlEWeGn2b2/9aHq33ddluQRChFRsuIkLSEtN3gF/0C5sKTt AYco4od8uFkhl6IKtm7W9i9yLkIC99rCHcc7TbKSKipUOlSIoorshtw5NRzH15UIs0WJExGL+7Wgy WG7Qt90Q==; Received: from j217100.upc-j.chello.nl ([24.132.217.100] helo=noisy.programming.kicks-ass.net) by bombadil.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1jLoeD-0003SC-Q4; Tue, 07 Apr 2020 13:52:13 +0000 Received: from hirez.programming.kicks-ass.net (hirez.programming.kicks-ass.net [192.168.1.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by noisy.programming.kicks-ass.net (Postfix) with ESMTPS id A88C83011DD; Tue, 7 Apr 2020 15:52:11 +0200 (CEST) Received: by hirez.programming.kicks-ass.net (Postfix, from userid 1000) id 933052B953CBE; Tue, 7 Apr 2020 15:52:11 +0200 (CEST) Date: Tue, 7 Apr 2020 15:52:11 +0200 From: Peter Zijlstra To: Alexandre Chartre Cc: x86@kernel.org, linux-kernel@vger.kernel.org, jpoimboe@redhat.com, jthierry@redhat.com, tglx@linutronix.de Subject: Re: [PATCH V2 9/9] x86/speculation: Remove all ANNOTATE_NOSPEC_ALTERNATIVE directives Message-ID: <20200407135211.GB20730@hirez.programming.kicks-ass.net> References: <20200407073142.20659-1-alexandre.chartre@oracle.com> <20200407073142.20659-10-alexandre.chartre@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200407073142.20659-10-alexandre.chartre@oracle.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 07, 2020 at 09:31:42AM +0200, Alexandre Chartre wrote: > - ANNOTATE_NOSPEC_ALTERNATIVE > ALTERNATIVE_2 __stringify(ANNOTATE_RETPOLINE_SAFE; jmp *\reg), \ > __stringify(RETPOLINE_JMP \reg), X86_FEATURE_RETPOLINE, \ > __stringify(lfence; ANNOTATE_RETPOLINE_SAFE; jmp *\reg), X86_FEATURE_RETPOLINE_AMD Possibly we can write this like: ALTERNATIVE("", "lfence", X86_FEATURE_RETPOLINE_AMD); ALTERNATIVE("jmp *\reg", "jmp __x86_retpoline_jmp_\reg", X86_FEATURE_RETPOLINE); With an out-of-line copy of the retpoline, just like the THUNKs the compiler uses, except of course, it can't be those, because we actually want to use the alternative to implement those. By moving the retpoline magic out-of-line we ensure it has a unique address and the ORC stuff should work. I'm just not sure what to do about the RETPOLINE_CALL variant.