ARC: Fix signal frame management for SA_SIGINFO
authorChristian Ruppert <christian.ruppert@abilis.com>
Wed, 2 Oct 2013 09:13:38 +0000 (11:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Oct 2013 14:45:45 +0000 (07:45 -0700)
commit19a420033da02200c424adfa3a7b9eed6e3a6dc2
tree1cb4383772ec6393acdad086db77fb63526316f0
parent0c06a0a693a5baaeacdb4c9485d5d6d490ea8a23
ARC: Fix signal frame management for SA_SIGINFO

commit 10469350e345599dfef3fa78a7c19fb230e674c1 upstream.

Previously, when a signal was registered with SA_SIGINFO, parameters 2
and 3 of the signal handler were written to registers r1 and r2 before
the register set was saved. This led to corruption of these two
registers after returning from the signal handler (the wrong values were
restored).
With this patch, registers are now saved before any parameters are
passed, thus maintaining the processor state from before signal entry.

Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arc/kernel/signal.c