[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f68a175362984e4abbb0a1da2004c936@AcuMS.aculab.com>
Date: Fri, 20 Aug 2021 09:02:46 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Joerg Roedel' <joro@...tes.org>
CC: "x86@...nel.org" <x86@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"hpa@...or.com" <hpa@...or.com>, Joerg Roedel <jroedel@...e.de>,
Kees Cook <keescook@...omium.org>,
Andy Lutomirski <luto@...nel.org>,
Uros Bizjak <ubizjak@...il.com>,
Arvind Sankar <nivedita@...m.mit.edu>,
Ard Biesheuvel <ardb@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Fabio Aiuto <fabioaiuto83@...il.com>,
"stable@...r.kernel.org" <stable@...r.kernel.org>
Subject: RE: [PATCH] x86/efi: Restore Firmware IDT in before
ExitBootServices()
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)
Powered by blists - more mailing lists