[SRU][Xenial][PATCH 0/1] powerpc: signals: Discard transaction state from signal frames

Joseph Salisbury joseph.salisbury at canonical.com
Fri May 18 13:04:17 UTC 2018


BugLink: http://bugs.launchpad.net/bugs/1771439

== SRU Justification ==
IBM is seeing tm_sigreturn test failures on P8 and P9 hosts.  The bad thing 
exception is being raised when executing the following line:

c00000000004fcfc: b0 04 03 e8 ld r0,1200(r3)
-> c00000000004fd00: a6 23 02 7c mtspr 130,r0

Which is basically restoring TEXASR in the thread.

ISA says "These registers can be written only when in Non-transactional 
state" and the MSR is set to be transactional (suspended):

MSR: 8000000300201033 [ME][RI][IR][DR][LE][SF][HTM][TSU]

That explains why they are getting the "bad thing exception". A mtspr is 
being called with a transaction suspended.  

This test failure is fixed by upstream commit 78a3e8889b4b.  
Upstream commit 78a3e8889b4b is in mainline as of 4.8-rc5. 

== Fix ==
78a3e8889b4b ("powerpc: signals: Discard transaction state from signal frames")

== Regression Potential ==
Low.  Specific to powerpc.

== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.

Cyril Bur (1):
  powerpc: signals: Discard transaction state from signal frames

 Documentation/powerpc/transactional_memory.txt |  2 ++
 arch/powerpc/kernel/signal_32.c                | 14 ++++++++++++++
 arch/powerpc/kernel/signal_64.c                | 14 ++++++++++++++
 3 files changed, 30 insertions(+)

-- 
2.7.4





More information about the kernel-team mailing list