[lkml]   [2010]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 1/2] x86_64 page fault NMI-safe
    On Thu, Jul 15, 2010 at 11:31 AM, Mathieu Desnoyers
    <> wrote:
    > Hrm, we could probably get away with only keeping the nmi_stack_nested per-cpu
    > variable. The nmi_stack_ptr could be known statically if we set it at a fixed
    > offset from the bottom of stack rather than using an offset relative to the top
    > (which can change depending if we are nested over the kernel or userspace).
    > We just have to reserve enough space for the bottom of stack.

    I thought about trying that, but I don't think it's true. At least not
    for the 32-bit case.

    The thing is, the 32-bit case will re-use the kernel stack if it
    happens in kernel space, and will thus start from a random space (and
    won't push all the information anyway). So a nested NMI really doesn't
    know where the original NMI stack is to be found unless we save it

    In the case of x86-64, I think the stack will always be at a fixed
    address, and push a fixed amount of data (because we use the IST
    thing). So there you could probably just use the flag, but you'd still
    have to handle the 32-bit case, and quite frankly, I think it would be
    much nicer if the logic could be shared for the 32-bit and 64-bit

    But maybe I'm missing something.


     \ /
      Last update: 2010-07-15 21:11    [W:0.020 / U:3.872 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site