• Cyril Bur's avatar
    powerpc: signals: Stop using current in signal code · d1199431
    Cyril Bur authored
    Much of the signal code takes a pt_regs on which it operates. Over
    time the signal code has needed to know more about the thread than
    what pt_regs can supply, this information is obtained as needed by
    using 'current'.
    
    This approach is not strictly incorrect however it does mean that
    there is now a hard requirement that the pt_regs being passed around
    does belong to current, this is never checked. A safer approach is for
    the majority of the signal functions to take a task_struct from which
    they can obtain pt_regs and any other information they need. The
    caveat that the task_struct they are passed must be current doesn't go
    away but can more easily be checked for.
    
    Functions called from outside powerpc signal code are passed a pt_regs
    and they can confirm that the pt_regs is that of current and pass
    current to other functions, furthurmore, powerpc signal functions can
    check that the task_struct they are passed is the same as current
    avoiding possible corruption of current (or the task they are passed)
    if this assertion ever fails.
    
    CC: paulus@samba.org
    Signed-off-by: default avatarCyril Bur <cyrilbur@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    d1199431
signal_32.c 44.1 KB