From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751268AbdL2Okj (ORCPT ); Fri, 29 Dec 2017 09:40:39 -0500 Received: from mail.skyhub.de ([5.9.137.197]:48660 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751084AbdL2Oki (ORCPT ); Fri, 29 Dec 2017 09:40:38 -0500 Date: Fri, 29 Dec 2017 15:40:32 +0100 From: Borislav Petkov To: Jia Zhang Cc: Ingo Molnar , tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, tony.luck@intel.com Subject: Re: [PATCH v4] x86/microcode/intel: Blacklist the specific BDW-EP for late loading Message-ID: <20171229144032.GA19625@nazgul.tnic> References: <1514292147-101928-1-git-send-email-qianyue.zj@alibaba-inc.com> <20171228122428.4t2lsutuo3y2i75c@gmail.com> <8d92a7af-c583-335d-0f2d-c3faa3c29e64@alibaba-inc.com> <20171229124835.tt5ttpf7i6tkmlnq@gmail.com> <492a0fe6-ca0b-ca97-27bf-e6407c60469c@alibaba-inc.com> <20171229134439.GA19010@nazgul.tnic> <24972441-6e70-749f-7edb-18c3e26c5df6@alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <24972441-6e70-749f-7edb-18c3e26c5df6@alibaba-inc.com> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Dec 29, 2017 at 10:12:34PM +0800, Jia Zhang wrote: > Thanks for clarifying the terms. What I meant was the microcode update > has to be launched in BIOS rather than late loading in linux runtime. Microcode update on those machines can happen in two ways: * loaded by the BIOS OR * loaded early by the kernel from the initrd. [ There's also the builtin microcode option which happens early too but I'm mentioning it here only for completeness sake - don't get confused by it. ] > But I'm not quite sure whether or not the early-initrd-based loading is > affected. Apparently it isn't. > I used a shared BDW-EP machine with a rev of microcode less than > 0x0b000021 and observed the late loading is prohibited. I attempted > to remove the is_blacklisted() and observed a system hang with the > late loading. Eventually I followed up the erratum and updated the > microcode through BIOS update. Yap, you confirmed the erratum. Which is a good data point. :-) > It is impossible to downgrade the BIOS to recover the old rev of > microcode for me to have a test with early-initrd-based loading. Some BIOSes allow that. Depends on the platform. > Anyway, is_blacklisted() initially was introduced by Borislav to > prohibit late loading only, so the early-initrd-based loading seems to > be OK. Yes, Borislav, that is me. :-) And yes, the blacklisting is for late loading only. This has a greater importance for old kernels where the initrd method is not supported yet and we wanted to prevent machine hangs from microcode update. Thus this solution which got backported. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --