]> git.hungrycats.org Git - linux/commit
powerpc/signals: Improved mark VSX not saved with small contexts fix
authorMichael Neuling <mikey@neuling.org>
Mon, 25 Nov 2013 00:12:20 +0000 (11:12 +1100)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 3 Jan 2014 04:33:24 +0000 (04:33 +0000)
commit286cfe15641d42d5a3846eb1009cf79b7934439b
tree2ea39342d79898d4204a6f02e6d5afae10db9c77
parent9ed46e8a9a81cb97217061138b4199526706aec3
powerpc/signals: Improved mark VSX not saved with small contexts fix

commit ec67ad82814bee92251fd963bf01c7a173856555 upstream.

In a recent patch:
  commit c13f20ac48328b05cd3b8c19e31ed6c132b44b42
  Author: Michael Neuling <mikey@neuling.org>
  powerpc/signals: Mark VSX not saved with small contexts

We fixed an issue but an improved solution was later discussed after the patch
was merged.

Firstly, this patch doesn't handle the 64bit signals case, which could also hit
this issue (but has never been reported).

Secondly, the original patch isn't clear what MSR VSX should be set to.  The
new approach below always clears the MSR VSX bit (to indicate no VSX is in the
context) and sets it only in the specific case where VSX is available (ie. when
VSX has been used and the signal context passed has space to provide the
state).

This reverts the original patch and replaces it with the improved solution.  It
also adds a 64 bit version.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/powerpc/kernel/signal_32.c
arch/powerpc/kernel/signal_64.c