summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@redhat.com>2017-01-09 12:00:25 -0600
committerIngo Molnar <mingo@kernel.org>2017-01-12 09:28:29 +0100
commitff3f7e2475bbf9201e95824e72698fcdc5c3d47a (patch)
treeec2c17fd61b6587c8d7ca8513867b3a3c00e8497 /ipc
parent2c96b2fe9c57b4267c3f0a680d82d7cc52e1c447 (diff)
downloadlinux-exynos-ff3f7e2475bbf9201e95824e72698fcdc5c3d47a.tar.gz
linux-exynos-ff3f7e2475bbf9201e95824e72698fcdc5c3d47a.tar.bz2
linux-exynos-ff3f7e2475bbf9201e95824e72698fcdc5c3d47a.zip
x86/entry: Fix the end of the stack for newly forked tasks
When unwinding a task, the end of the stack is always at the same offset right below the saved pt_regs, regardless of which syscall was used to enter the kernel. That convention allows the unwinder to verify that a stack is sane. However, newly forked tasks don't always follow that convention, as reported by the following unwinder warning seen by Dave Jones: WARNING: kernel stack frame pointer at ffffc90001443f30 in kworker/u8:8:30468 has bad value (null) The warning was due to the following call chain: (ftrace handler) call_usermodehelper_exec_async+0x5/0x140 ret_from_fork+0x22/0x30 The problem is that ret_from_fork() doesn't create a stack frame before calling other functions. Fix that by carefully using the frame pointer macros. In addition to conforming to the end of stack convention, this also makes related stack traces more sensible by making it clear to the user that ret_from_fork() was involved. Reported-by: Dave Jones <davej@codemonkey.org.uk> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Petkov <bp@alien8.de> Cc: Brian Gerst <brgerst@gmail.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Miroslav Benes <mbenes@suse.cz> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/8854cdaab980e9700a81e9ebf0d4238e4bbb68ef.1483978430.git.jpoimboe@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions