summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@redhat.com>2017-03-13 23:27:47 -0500
committerThomas Gleixner <tglx@linutronix.de>2017-03-14 21:51:57 +0100
commit87a6b2975f0d340c75b7488d22d61d2f98fb8abf (patch)
tree560b56ad4a1fa1b0bb7749e419226b68f015db7d /crypto
parentd434936e4cbb10181463622962f30b989d3e9e19 (diff)
downloadlinux-87a6b2975f0d340c75b7488d22d61d2f98fb8abf.tar.bz2
x86/unwind: Fix last frame check for aligned function stacks
Pavel Machek reported the following warning on x86-32: WARNING: kernel stack frame pointer at f50cdf98 in swapper/2:0 has bad value (null) The warning is caused by the unwinder not realizing that it reached the end of the stack, due to an unusual prologue which gcc sometimes generates for aligned stacks. The prologue is based on a gcc feature called the Dynamic Realign Argument Pointer (DRAP). It's almost always enabled for aligned stacks when -maccumulate-outgoing-args isn't set. This issue is similar to the one fixed by the following commit: 8023e0e2a48d ("x86/unwind: Adjust last frame check for aligned function stacks") ... but that fix was specific to x86-64. Make the fix more generic to cover x86-32 as well, and also ensure that the return address referred to by the frame pointer is a copy of the original return address. Fixes: acb4608ad186 ("x86/unwind: Create stack frames for saved syscall registers") Reported-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Cc: stable@vger.kernel.org Link: http://lkml.kernel.org/r/50d4924db716c264b14f1633037385ec80bf89d2.1489465609.git.jpoimboe@redhat.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions