[lkml]   [2013]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] x86 efi: bugfix interrupt disabling sequence
On Wed, 18 Sep, at 07:28:53PM, Bart Kuivenhoven wrote:
> The problem in efi_main was that the idt was cleared before the
> interrupts were disabled.
> The UEFI spec states that interrupts aren't used so this shouldn't be
> too much of a problem. Peripherals however don't necessarily know about
> this and thus might cause interrupts to happen anyway. Even if
> ExitBootServices() has been called.
> This means there is a risk of an interrupt being triggered while the IDT
> register is nullified and the interrupt bit hasn't been cleared,
> allowing for a triple fault.

Just to be clear, you haven't witnessed a triple fault, correct?

> This patch fixes this by clearing the interrupt bit before the lidt
> instruction.

I think we can go even further than this and get rid of all of the IDT
code in the EFI boot stub. The kernel maintains its own IDT anyway.

Matt Fleming, Intel Open Source Technology Center

 \ /
  Last update: 2013-09-20 17:41    [W:0.046 / U:27.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site