Merged today for the Linux 6.19 Git kernel and then in turn for back-porting to prior Linux kernel series is making the x86 page fault handling code disable interrupts properly. Since 2020 it turns out the handling was subtly wrong but now corrected by Intel.

Cedric Xing of Intel tracked down the issue and fix to the page fault handling code for properly disabling interrupts.

  • themoken@startrek.website
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    11 hours ago

    Basically, the executing thread might get interrupted in a window of code where the interrupt flags are wrong. Not looking at the specifics, but this could lead to various things from mostly harmless (e.g. potentially holding a lock for many times longer than expected but eventually releasing it) to program crashing (e.g. if taking an interrupt while handling the fault leaves the data structures in an inconsistent state).

    This is likely the first one, since it was missed for so long in a very well exercised piece of code.