• Michael Neuling's avatar
    powerpc/tm: P9 disable transactionally suspended sigcontexts · 92fb8690
    Michael Neuling authored
    Unfortunately userspace can construct a sigcontext which enables
    suspend. Thus userspace can force Linux into a path where trechkpt is
    executed.
    
    This patch blocks this from happening on POWER9 by sanity checking
    sigcontexts passed in.
    
    ptrace doesn't have this problem as only MSR SE and BE can be changed
    via ptrace.
    
    This patch also adds a number of WARN_ON()s in case we ever enter
    suspend when we shouldn't. This should not happen, but if it does the
    symptoms are soft lockup warnings which are not obviously TM related,
    so the WARN_ON()s should make it obvious what's happening.
    Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
    Signed-off-by: default avatarCyril Bur <cyrilbur@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    92fb8690
signal_64.c 25.9 KB