mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 27/50] m68k: task_stack_page()
@ 2006-01-03 21:07 Al Viro
  0 siblings, 0 replies; only message in thread
From: Al Viro @ 2006-01-03 21:07 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, linux-arch

References: <20060103210515.5135@ftp.linux.org.uk>
In-Reply-To: <20060103210515.5135@ftp.linux.org.uk>

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

---

 arch/m68k/kernel/process.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

f7013b290c221e23786a21d2d5722a460dd4a52d
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index 13d1093..3f9cb55 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -238,10 +238,9 @@ int copy_thread(int nr, unsigned long cl
 {
 	struct pt_regs * childregs;
 	struct switch_stack * childstack, *stack;
-	unsigned long stack_offset, *retp;
+	unsigned long *retp;
 
-	stack_offset = THREAD_SIZE - sizeof(struct pt_regs);
-	childregs = (struct pt_regs *) ((unsigned long) (p->thread_info) + stack_offset);
+	childregs = (struct pt_regs *) (task_stack_page(p) + THREAD_SIZE) - 1;
 
 	*childregs = *regs;
 	childregs->d0 = 0;
@@ -386,7 +385,7 @@ unsigned long get_wchan(struct task_stru
 	if (!p || p == current || p->state == TASK_RUNNING)
 		return 0;
 
-	stack_page = (unsigned long)(p->thread_info);
+	stack_page = (unsigned long)task_stack_page(p);
 	fp = ((struct switch_stack *)p->thread.ksp)->a6;
 	do {
 		if (fp < stack_page+sizeof(struct thread_info) ||
-- 
0.99.9.GIT


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-01-03 21:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-03 21:07 [PATCH 27/50] m68k: task_stack_page() Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®