OSDN Git Service

xtensa: make sure bFLT stack is 16 byte aligned
authorMax Filippov <jcmvbkbc@gmail.com>
Sun, 4 Nov 2018 08:46:00 +0000 (01:46 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Nov 2018 08:19:16 +0000 (09:19 +0100)
commit591dd5df1758e19f19fc58d5600f8a02013051a5
tree0a0f6625dd028ab2988a42aa6315f8d7fc900fca
parent47af963b58e5efc9330c426924f55a1475c4e366
xtensa: make sure bFLT stack is 16 byte aligned

commit 0773495b1f5f1c5e23551843f87b5ff37e7af8f7 upstream.

Xtensa ABI requires stack alignment to be at least 16. In noMMU
configuration ARCH_SLAB_MINALIGN is used to align stack. Make it at
least 16.

This fixes the following runtime error in noMMU configuration, caused by
interaction between insufficiently aligned stack and alloca function,
that results in corruption of on-stack variable in the libc function
glob:

 Caught unhandled exception in 'sh' (pid = 47, pc = 0x02d05d65)
  - should not happen
  EXCCAUSE is 15

Cc: stable@vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/xtensa/include/asm/processor.h