• Nicholas Piggin's avatar
    powerpc/64s/interrupt: Check and fix srr_valid without crashing · 6eaaf9de
    Nicholas Piggin authored
    The PPC_RFI_SRR_DEBUG check added by patch "powerpc/64s: avoid reloading
    (H)SRR registers if they are still valid" has a few deficiencies. It
    does not fix the actual problem, it's not enabled by default, and it
    causes a program check interrupt which can cause more difficulties.
    
    However there are a lot of paths which may clobber SRRs or change return
    regs, and difficult to have a high confidence that all paths are covered
    without wider testing.
    
    Add a relatively low overhead always-enabled check that catches most
    such cases, reports once, and fixes it so the kernel can continue.
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    [mpe: Rebase, use switch & INT names, squash in race fix from Nick]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    6eaaf9de
interrupt.c 16 KB