diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2013-10-15 02:22:42 +0400 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2013-10-15 13:39:06 -0700 |
commit | 244066f4be8ce2dc2d2d60f01bceeba55c71a783 (patch) | |
tree | a1a266f7ae41b3418a1f858712c52ba3cf141100 /net/lapb/lapb_in.c | |
parent | 61e6cfa80de5760bbe406f4e815b7739205754d2 (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 'net/lapb/lapb_in.c')
0 files changed, 0 insertions, 0 deletions