• K
    parisc: fix kernel crash (protection id trap) when compiling ruby1.9 · c61c25eb
    Kyle McMartin 提交于
    On Wed, Dec 17, 2008 at 11:46:05PM +0100, Helge Deller wrote:
    >
    
    Honestly, I can't decide whether to apply this. It really should never
    happen in the kernel, since the kernel can guarantee it won't get the
    access rights failure (highest privilege level, and can set %sr and
    %protid to whatever it wants.)
    
    It really genuinely is a bug that probably should panic the kernel. The
    only precedent I can easily see is x86 fixing up a bad iret with a
    general protection fault, which is more or less analogous to code 27
    here.
    
    On the other hand, taking the exception on a userspace access really
    isn't all that critical, and there's fundamentally little reason for the
    kernel not to SIGSEGV the process, and continue...
    
    Argh.
    
    (btw, I've instrumented my do_sys_poll with a pile of assertions that
     %cr8 << 1 == %sr3 == current->mm.context... let's see if where we're
     getting corrupted is deterministic, though, I would guess that it won't
     be.)
    Signed-off-by: NKyle McMartin <kyle@mcmartin.ca>
    c61c25eb
fault.c 7.0 KB