summaryrefslogtreecommitdiffstats
path: root/arch/alpha
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-09-25 22:07:51 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2010-09-25 23:38:13 +0200
commit32163f4b2cef28a5aab8b226ffecfc6379a53786 (patch)
treec4e1412c1aba536551b4ff5f30cbe788e524694c /arch/alpha
parentalpha: fix hae_cache race in RESTORE_ALL (diff)
downloadlinux-32163f4b2cef28a5aab8b226ffecfc6379a53786.tar.xz
linux-32163f4b2cef28a5aab8b226ffecfc6379a53786.zip
alpha: fix usp value in multithreaded coredumps
rdusp() gives us the right value only for the current thread... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/alpha')
-rw-r--r--arch/alpha/kernel/process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index 842dba308eab..3ec35066f1dc 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -356,7 +356,7 @@ dump_elf_thread(elf_greg_t *dest, struct pt_regs *pt, struct thread_info *ti)
dest[27] = pt->r27;
dest[28] = pt->r28;
dest[29] = pt->gp;
- dest[30] = rdusp();
+ dest[30] = ti == current_thread_info() ? rdusp() : ti->pcb.usp;
dest[31] = pt->pc;
/* Once upon a time this was the PS value. Which is stupid