diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 01:05:50 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 09:08:54 -0800 |
commit | 30af7120fe6cfa8cf9ccd0626474fa1cd6d2bd59 (patch) | |
tree | 11b63f1e3c69444303a031eab445f3222f10a6c3 /arch/s390/kernel/process.c | |
parent | c7584fb6b46a71a1aba5e06dc3cc54ce10f0129e (diff) | |
download | talos-obmc-linux-30af7120fe6cfa8cf9ccd0626474fa1cd6d2bd59.tar.gz talos-obmc-linux-30af7120fe6cfa8cf9ccd0626474fa1cd6d2bd59.zip |
[PATCH] s390: task_stack_page()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r-- | arch/s390/kernel/process.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 9f643309ed3d..2ff90a1a1056 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -153,7 +153,7 @@ void show_regs(struct pt_regs *regs) { struct task_struct *tsk = current; - printk("CPU: %d %s\n", tsk->thread_info->cpu, print_tainted()); + printk("CPU: %d %s\n", task_thread_info(tsk)->cpu, print_tainted()); printk("Process %s (pid: %d, task: %p, ksp: %p)\n", current->comm, current->pid, (void *) tsk, (void *) tsk->thread.ksp); @@ -357,11 +357,10 @@ unsigned long get_wchan(struct task_struct *p) unsigned long return_address; int count; - if (!p || p == current || p->state == TASK_RUNNING || !p->thread_info) + if (!p || p == current || p->state == TASK_RUNNING || !task_stack_page(p)) return 0; - low = (struct stack_frame *) p->thread_info; - high = (struct stack_frame *) - ((unsigned long) p->thread_info + THREAD_SIZE) - 1; + low = task_stack_page(p); + high = (struct stack_frame *) task_pt_regs(p); sf = (struct stack_frame *) (p->thread.ksp & PSW_ADDR_INSN); if (sf <= low || sf > high) return 0; |