summaryrefslogtreecommitdiff
path: root/arch/xtensa/kernel/signal.c
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2013-10-15 02:22:42 +0400
committerChris Zankel <chris@zankel.net>2013-10-15 13:39:06 -0700
commit244066f4be8ce2dc2d2d60f01bceeba55c71a783 (patch)
treea1a266f7ae41b3418a1f858712c52ba3cf141100 /arch/xtensa/kernel/signal.c
parent61e6cfa80de5760bbe406f4e815b7739205754d2 (diff)
xtensa: fix fast_syscall_spill_registers_fixup
fast_syscall_spill_registers_fixup was not correctly updated by the 'keep a3 and excsave1 on entry to exception handlers' patch: it doesn't preserve a3 that it gets on entry, breaking _spill_registers in case of page fault on stack during register spilling, leading to unhandled exception in kernel mode. Preserve a3 by saving it in the original _spill_registers stack frame's a3 during exception handling and restoring it afterwards. Also fix comments and function bounds annotations. Reported-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Tested-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/kernel/signal.c')
0 files changed, 0 insertions, 0 deletions