lkml.org 
[lkml]   [1997]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Pentium bug fix
> I'm already running 2.0.32 which fixes the f00f bug.  However, I'm very
> curious as to exactly how the invalid opcode was trapped. I have the
> source code, but can we just have some description on how the fix works?
> I'd really like to know.

Please search the linux-kernel archives, you'll find a lot of
discussion about this question.

In short, the best known fix masks the interrupt descriptor table as
read-only. When the processor executes this invalid instruction, it
apparently requires write permissions for the IDT, which in turn
leads to a page fault. The protection fault handler checks whether
it accessed the IDT, then produces SIGILL, otherwise SIGSEGV.

Older versions of the patch completely unmapped this part of the
IDT, causing a page fault for every of the first six faults.

Regards,
Martin

\
 
 \ /
  Last update: 2005-03-22 13:40    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site