linux/arch/xtensa/kernel
Max Filippov 3799248733 xtensa: fix kernel register spilling
commit 77d6273e79 upstream.

call12 can't be safely used as the first call in the inline function,
because the compiler does not extend the stack frame of the bounding
function accordingly, which may result in corruption of local variables.

If a call needs to be done, do call8 first followed by call12.

For pure assembly code in _switch_to increase stack frame size of the
bounding function.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-09-21 10:05:42 -07:00
..
.gitignore xtensa: tell git to ignore generated files 2013-06-05 10:14:19 -07:00
align.S xtensa: allow single-stepping through unaligned load/store 2014-08-14 11:59:30 +04:00
asm-offsets.c xtensa: Autogenerate offsets in struct thread_info 2015-04-12 21:03:29 +02:00
coprocessor.S xtensa: keep a3 and excsave1 on entry to exception handlers 2013-09-06 09:47:41 -07:00
entry.S xtensa: fix kernel register spilling 2015-09-21 10:05:42 -07:00
head.S xtensa: move vecbase SR initialization to _startup 2014-10-21 13:28:55 +04:00
irq.c xtensa: Use irq_set_affinity instead of homebrewn code 2014-03-04 17:37:55 +01:00
Makefile xtensa: Fix fix linker script transformation for .text / .text.fixup 2015-04-10 07:31:21 +00:00
mcount.S xtensa: add static function tracer support 2013-07-08 01:18:57 -07:00
module.c xtensa: clean up files to make them code-style compliant 2012-12-18 21:10:25 -08:00
mxhead.S xtensa: add SMP support 2014-01-14 10:19:58 -08:00
pci-dma.c xtensa: fix address checks in dma_{alloc,free}_coherent 2014-08-14 11:59:14 +04:00
pci.c PCI: Assign resources before drivers claim devices (pci_scan_root_bus()) 2015-03-19 10:17:13 -05:00
platform.c xtensa: cleanup ccount frequency tracking 2013-07-08 01:11:37 -07:00
process.c xtensa: Use generic idle loop 2013-04-08 17:39:29 +02:00
ptrace.c ARCH: AUDIT: audit_syscall_entry() should not require the arch 2014-09-23 16:21:26 -04:00
setup.c xtensa: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
signal.c Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2015-04-15 13:53:55 -07:00
smp.c flush_icache_range: export symbol to fix build errors 2014-08-29 16:28:17 -07:00
stacktrace.c xtensa: provide custom CALLER_ADDR* implementations 2013-05-09 01:07:10 -07:00
syscall.c xtensa: nommu: don't provide arch_get_unmapped_area 2014-10-21 13:28:48 +04:00
time.c xtensa: export ccount_freq 2014-01-19 20:00:48 +04:00
traps.c xtensa: don't allow overflow/underflow on unaligned stack 2014-08-14 11:59:32 +04:00
vectors.S xtensa: don't allow overflow/underflow on unaligned stack 2014-08-14 11:59:32 +04:00
vmlinux.lds.S xtensa: don't allow overflow/underflow on unaligned stack 2014-08-14 11:59:32 +04:00
xtensa_ksyms.c xtensa: export __{invalidate,flush}_dcache_range 2014-04-02 01:35:50 +04:00