From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42219C432BE for ; Fri, 20 Aug 2021 09:02:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2110A610CF for ; Fri, 20 Aug 2021 09:02:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233386AbhHTJD1 convert rfc822-to-8bit (ORCPT ); Fri, 20 Aug 2021 05:03:27 -0400 Received: from eu-smtp-delivery-151.mimecast.com ([185.58.86.151]:56163 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233561AbhHTJD1 (ORCPT ); Fri, 20 Aug 2021 05:03:27 -0400 Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-211-zYbF-yKXOiadlD96bB7S2A-1; Fri, 20 Aug 2021 10:02:47 +0100 X-MC-Unique: zYbF-yKXOiadlD96bB7S2A-1 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) by AcuMS.aculab.com (fd9f:af1c:a25b:0:994c:f5c2:35d6:9b65) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 20 Aug 2021 10:02:46 +0100 Received: from AcuMS.Aculab.com ([fe80::994c:f5c2:35d6:9b65]) by AcuMS.aculab.com ([fe80::994c:f5c2:35d6:9b65%12]) with mapi id 15.00.1497.023; Fri, 20 Aug 2021 10:02:46 +0100 From: David Laight To: 'Joerg Roedel' CC: "x86@kernel.org" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "hpa@zytor.com" , Joerg Roedel , Kees Cook , Andy Lutomirski , Uros Bizjak , Arvind Sankar , Ard Biesheuvel , "linux-kernel@vger.kernel.org" , Fabio Aiuto , "stable@vger.kernel.org" Subject: RE: [PATCH] x86/efi: Restore Firmware IDT in before ExitBootServices() Thread-Topic: [PATCH] x86/efi: Restore Firmware IDT in before ExitBootServices() Thread-Index: AQHXlZXa+jtHdymQB0W1fhKjcUB7Wqt8EPPg///0gwCAABNdkA== Date: Fri, 20 Aug 2021 09:02:46 +0000 Message-ID: References: <20210820073429.19457-1-joro@8bytes.org> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=C51A453 smtp.mailfrom=david.laight@aculab.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: 'Joerg Roedel' > Sent: 20 August 2021 09:52 > > On Fri, Aug 20, 2021 at 08:43:47AM +0000, David Laight wrote: > > Hmmm... > > If Linux needs its own IDT then temporarily substituting the old IDT > > prior to a UEFI call will cause 'grief' if a 'Linux' interrupt > > happens during the UEFI call. > > This is neede only during very early boot before Linux called > ExitBootServices(). Nothing that causes IRQs is set up by Linux yet. Of > course the Firmware could have set something up, but Linux runs with > IRQs disabled when on its own IDT at that stage. So allocate and initialise the Linux IDT - so entries can be added. But don't execute 'lidt' until later on. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)