Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937975AbdD0EoO (ORCPT ); Thu, 27 Apr 2017 00:44:14 -0400 Received: from mx2.suse.de ([195.135.220.15]:45827 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751236AbdD0EoF (ORCPT ); Thu, 27 Apr 2017 00:44:05 -0400 Subject: Re: [PATCH] x86/amd: don't set X86_BUG_SYSRET_SS_ATTRS if forced to zero To: Borislav Petkov References: <20170425180014.7533-1-jgross@suse.com> <20170425182443.3ab75tkfosol2yk4@pd.tnic> <20170425191809.uvdt4jimnbvqbyf2@pd.tnic> <24b7ab61-69e6-192e-5bb7-2ef5cdaa28c3@suse.com> <20170426063556.vc2zmns3uscubuim@pd.tnic> <88dfeccc-61e9-20a7-e188-c3e5cb0f55d3@suse.com> <20170426220448.sjsg4f7odacb2uz3@pd.tnic> Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org, boris.ostrovsky@oracle.com, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com From: Juergen Gross Message-ID: Date: Thu, 27 Apr 2017 06:44:02 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170426220448.sjsg4f7odacb2uz3@pd.tnic> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1147 Lines: 42 On 27/04/17 00:04, Borislav Petkov wrote: > On Wed, Apr 26, 2017 at 08:24:12PM +0200, Juergen Gross wrote: >> I'm not feeling strong about it. So if you want to test for >> X86_FEATURE_XENPV to avoid setting X86_BUG_SYSRET_SS_ATTRS I'm fine >> with it. >> >> Will send V2 with that change. > > And remove the corresponding > > clear_cpu_bug(c, X86_BUG_SYSRET_SS_ATTRS); > > in xen_set_cpu_features(). Okay, you are right, we can omit this one now. > So that we can set it once, only on !XENPV feature set. > > /me looks again at the code... > > Gah, except that we do > > set_cpu_cap(c, X86_FEATURE_XENPV); > > and that runs as part of init_hypervisor() and it runs *after* c_init(). No, this is called by xen_start_kernel(), long before c_init(). > So, back to square one. :-\ > > So lemme try to explain again what I mean: > > I'd like to have a generic way of detecting whether I'm running as a xen > guest at ->c_init() time and depending on the result of that detection, > to set X86_BUG_SYSRET_SS_ATTRS or not set it. > > Does that make more sense? This does make sense and it is working, as Sander could confirm. Juergen