diff options
author | Michael Neuling <mikey@neuling.org> | 2015-11-19 05:44:44 +0100 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2015-11-23 10:06:31 +0100 |
commit | d2b9d2a5ad5ef04ff978c9923d19730cb05efd55 (patch) | |
tree | 204175f5f1983ff920187640fc5263115400083e /arch/powerpc/include/asm/ppc4xx.h | |
parent | Linux 4.4-rc2 (diff) | |
download | linux-d2b9d2a5ad5ef04ff978c9923d19730cb05efd55.tar.xz linux-d2b9d2a5ad5ef04ff978c9923d19730cb05efd55.zip |
powerpc/tm: Block signal return setting invalid MSR state
Currently we allow both the MSR T and S bits to be set by userspace on
a signal return. Unfortunately this is a reserved configuration and
will cause a TM Bad Thing exception if attempted (via rfid).
This patch checks for this case in both the 32 and 64 bit signals
code. If both T and S are set, we mark the context as invalid.
Found using a syscall fuzzer.
Fixes: 2b0a576d15e0 ("powerpc: Add new transactional memory state to the signal context")
Cc: stable@vger.kernel.org # v3.9+
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/ppc4xx.h')
0 files changed, 0 insertions, 0 deletions