aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorStas Sergeev <stsp@aknet.ru>2006-01-01 04:18:52 +0300
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-31 18:01:57 -0800
commit557962a926c62a9c4bd79d6b36df873d4f8c51ef (patch)
treef0056d09f2a2fc3bb2ea427aa189351b07400a52 /arch
parentsysctl: make sure to terminate strings with a NUL (diff)
downloadlinux-dev-557962a926c62a9c4bd79d6b36df873d4f8c51ef.tar.xz
linux-dev-557962a926c62a9c4bd79d6b36df873d4f8c51ef.zip
[PATCH] x86: teach dump_task_regs() about the -8 offset.
This should fix multi-threaded core-files Signed-off-by: stsp@aknet.ru Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/kernel/process.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index df6c2bcde067..2333aead0563 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -554,7 +554,9 @@ int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs)
struct pt_regs ptregs;
ptregs = *(struct pt_regs *)
- ((unsigned long)tsk->thread_info+THREAD_SIZE - sizeof(ptregs));
+ ((unsigned long)tsk->thread_info +
+ /* see comments in copy_thread() about -8 */
+ THREAD_SIZE - sizeof(ptregs) - 8);
ptregs.xcs &= 0xffff;
ptregs.xds &= 0xffff;
ptregs.xes &= 0xffff;