From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x226ovFEkdk2uuE3bRh0Wt40hIwy2jnqr9dytoKlW0xLXrgmomfrm4U7Xe1LWTZ/xhvZf0a/j ARC-Seal: i=1; a=rsa-sha256; t=1516739347; cv=none; d=google.com; s=arc-20160816; b=VbakVZSDzHj8IAj/zqvRnZJBOXsYik3biJn0b0toCbeQalx/cvN5vmIwJLun1cz9/J B8dgrsn4S4gYzJD5t3lmMY6mP0TiFdzHsfEk62CIB9VSDJ/9Zpfl0KU6mOoqDofmmb/4 GxiWlSmoISsWv/dLpfL1Rwqeyt98eWR0sAvJXehy4E4fK/tPgPfMRi2KpfPHJVHcvSib BW7y6MgFM63n42e2NAKwG9Iau/o0sZ2s8qrap8D7wbT5ELgU6D9rfMR8xvpOKFVyKe3W HXLDFp583XeZimRthxSFDiPuzt4ewfi3b2ICp0P/hp0PSKExPTQQNwH9F7YU2pZU5Cfn BECw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:arc-authentication-results; bh=uEQ5qFP/rIctc02B4SC61G0RHgBYnOjGbo560AYZT4Y=; b=gR88/cjqRLGsf90JkCk8CI19X2audCsTeEy6M4wlvBZ50cjX147JdMcZJNO9MEvG3f Izy3C/8xyYgNCtoI/Dg701ODsSmW1bdA8Xsjupfe/jX9uiNugzqjq5OQYEgQ4+5vnvgK 4hHgXMAbvbSSKF+tqob5Pq3IYIVv/VFlFlCy0N/n5uWXc4Ovzl7WoH6JmhNlq9ZBSpaC 7aHw9Ah7jpJ8TkRF+4Qa+tzyxAAy7um2XwnI6DHIeIA9mr5+okF+b69NlrI/lgug9k3f Z4Rv2xMAo2jNhjBMCWdSmsksSqVRbJsrmjGxmRYfySfOx9ncFZcharmkOmAwkUXaRACe GqlQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of bp@alien8.de designates 2a01:4f8:190:11c2::b:1457 as permitted sender) smtp.mailfrom=bp@alien8.de Authentication-Results: mx.google.com; spf=pass (google.com: domain of bp@alien8.de designates 2a01:4f8:190:11c2::b:1457 as permitted sender) smtp.mailfrom=bp@alien8.de Date: Tue, 23 Jan 2018 21:28:59 +0100 From: Borislav Petkov To: Peter Zijlstra Cc: David Woodhouse , Thomas Gleixner , Josh Poimboeuf , linux-kernel@vger.kernel.org, Dave Hansen , Ashok Raj , Tim Chen , Andy Lutomirski , Linus Torvalds , Greg KH , Andrea Arcangeli , Andi Kleen , Arjan Van De Ven , Dan Williams , Paolo Bonzini , Jun Nakajima , Asit Mallick , Jason Baron Subject: Re: [PATCH 06/24] x86,kvm: Fix indirect calls in emulator Message-ID: <20180123202859.qc5frxyonavtkhpz@pd.tnic> References: <20180123152539.374360046@infradead.org> <20180123152638.336674335@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180123152638.336674335@infradead.org> User-Agent: NeoMutt/20170609 (1.8.3) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590397846081548237?= X-GMAIL-MSGID: =?utf-8?q?1590416478123735335?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Tue, Jan 23, 2018 at 04:25:45PM +0100, Peter Zijlstra wrote: > Replace the indirect calls with CALL_NOSPEC. > > Cc: Paolo Bonzini > Signed-off-by: Peter Zijlstra (Intel) > --- > arch/x86/kvm/emulate.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > --- a/arch/x86/kvm/emulate.c > +++ b/arch/x86/kvm/emulate.c > @@ -25,6 +25,7 @@ > #include > #include > #include > +#include > > #include "x86.h" > #include "tss.h" > @@ -1021,8 +1022,8 @@ static __always_inline u8 test_cc(unsign > void (*fop)(void) = (void *)em_setcc + 4 * (condition & 0xf); > > flags = (flags & EFLAGS_MASK) | X86_EFLAGS_IF; > - asm("push %[flags]; popf; call *%[fastop]" > - : "=a"(rc) : [fastop]"r"(fop), [flags]"r"(flags)); > + asm("push %[flags]; popf; " CALL_NOSPEC > + : "=a"(rc) : [thunk_target]"r"(fop), [flags]"r"(flags)); Oh, "thunk_target" is magical. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.