Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751328AbeAHFGT (ORCPT + 1 other); Mon, 8 Jan 2018 00:06:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:43918 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750710AbeAHFGR (ORCPT ); Mon, 8 Jan 2018 00:06:17 -0500 Date: Sun, 7 Jan 2018 23:06:12 -0600 From: Josh Poimboeuf To: Borislav Petkov Cc: "Woodhouse, David" , "tglx@linutronix.de" , "linux-kernel@vger.kernel.org" , "tim.c.chen@linux.intel.com" , "peterz@infradead.org" , "torvalds@linux-foundation.org" , "ak@linux.intel.com" , "riel@redhat.com" , "keescook@google.com" , "gnomes@lxorguk.ukuu.org.uk" , "pjt@google.com" , "dave.hansen@intel.com" , "luto@amacapital.net" , "jikos@kernel.org" , "gregkh@linux-foundation.org" Subject: Re: [PATCH v3 01/13] x86/retpoline: Add initial retpoline support Message-ID: <20180108050612.wmtwdbx44hmkf6au@treble> References: <1515058213.12987.89.camel@amazon.co.uk> <20180104143710.8961-1-dwmw@amazon.co.uk> <1515160619.29312.126.camel@amazon.co.uk> <1515170506.29312.149.camel@amazon.co.uk> <20180105164505.xpw5pefxsyu3z56e@pd.tnic> <20180105170806.mtylu2zagfxyj3ry@treble> <20180106003059.jhwx4ouc7xbt7yw6@pd.tnic> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180106003059.jhwx4ouc7xbt7yw6@pd.tnic> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Jan 2018 05:06:17 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Sat, Jan 06, 2018 at 01:30:59AM +0100, Borislav Petkov wrote: > On Fri, Jan 05, 2018 at 11:08:06AM -0600, Josh Poimboeuf wrote: > > I seem to recall that we also discussed the need for this for converting > > pvops to use alternatives, though the "why" is eluding me at the moment. > > Ok, here's something which seems to work in my VM here. I'll continue > playing with it tomorrow. Josh, if you have some example sequences for > me to try, send them my way pls. Here's the use case I had in mind before. With paravirt, ENABLE_INTERRUPTS(CLBR_NONE) becomes push %rax call *pv_irq_ops.irq_enable pop %rax and I wanted to apply those instructions with an alternative. It doesn't work currently because the 'call' isn't first. -- Josh