diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2014-07-27 07:23:41 +0400 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2014-08-14 11:59:16 +0400 |
commit | 52247123749cc3cbc30168b33ad8c69515c96d23 (patch) | |
tree | 2bdc9346c7ce61227d7d68e12aace9b130406bcb /crypto/cmac.c | |
parent | 89f77c6f5bb4b0058f40f510809ec07255e02a7e (diff) | |
download | linux-52247123749cc3cbc30168b33ad8c69515c96d23.tar.gz linux-52247123749cc3cbc30168b33ad8c69515c96d23.tar.bz2 linux-52247123749cc3cbc30168b33ad8c69515c96d23.zip |
xtensa: fix access to THREAD_RA/THREAD_SP/THREAD_DS
With SMP and a lot of debug options enabled task_struct::thread gets out
of reach of s32i/l32i instructions with base pointing at task_struct,
breaking build with the following messages:
arch/xtensa/kernel/entry.S: Assembler messages:
arch/xtensa/kernel/entry.S:1002: Error: operand 3 of 'l32i.n' has invalid value '1048'
arch/xtensa/kernel/entry.S:1831: Error: operand 3 of 's32i.n' has invalid value '1040'
arch/xtensa/kernel/entry.S:1832: Error: operand 3 of 's32i.n' has invalid value '1044'
Change base to point to task_struct::thread in such cases.
Don't use a10 in _switch_to to save/restore prev pointer as a2 is not
clobbered.
Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'crypto/cmac.c')
0 files changed, 0 insertions, 0 deletions