From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760433AbcLPKAj (ORCPT ); Fri, 16 Dec 2016 05:00:39 -0500 Received: from mx2.suse.de ([195.135.220.15]:41978 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759644AbcLPKAc (ORCPT ); Fri, 16 Dec 2016 05:00:32 -0500 Subject: Re: Can't boot as Xen dom0 due to commit fe055896 To: Borislav Petkov References: <73a4d64b-b139-6579-a560-92311641d6c7@suse.com> <20161215164635.thm7ruio2ddnxszw@pd.tnic> <20161215171755.xpfuax7a6q3jofet@pd.tnic> <20161215173609.ornfok6lk5oro2pj@pd.tnic> <20161216090228.ri4alokiaagqtibt@pd.tnic> <29d252b8-67ff-bd61-f274-0ed75708cd55@suse.com> <20161216094326.bnkr5a2k3njmdeyi@pd.tnic> Cc: Boris Ostrovsky , Linux Kernel Mailing List , xen-devel From: Juergen Gross Message-ID: <7ca8a9b9-e374-8052-6be3-d3eda78c891a@suse.com> Date: Fri, 16 Dec 2016 11:00:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161216094326.bnkr5a2k3njmdeyi@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 On 16/12/16 10:43, Borislav Petkov wrote: > On Fri, Dec 16, 2016 at 10:20:42AM +0100, Juergen Gross wrote: >> Without testing, but I doubt it is working. As pv guests aren't coming >> through check_loader_disabled_bsp() at all I can't see why your patch >> would work for dom0. > > Do they go through check_loader_disabled_ap() ? Yes. > >> Additionally I don't think you want to call native_cpuid() if >> have_cpuid_p() returns false. > > Good point, fixed. > >> So I think you want a generic "platform_allows_ucode_load()" >> function checking for support of cpuid and virtualization. This >> function should be called both in check_loader_disabled_bsp() and >> check_loader_disabled_ap() to bail out early. > > See question above. If they go through check_loader_disabled_ap(), > then I'm inclined to set dis_ucode_ldr to true at build time and let > check_loader_disabled_bsp() set it to false on baremetal or if any of > the other checks pass. > > If the pv guests run into check_loader_disabled_ap, then they'll see > dis_ucode_ldr true and return. > > Ok? Should work. I'm happy to test any patch. :-) Juergen