summary refs log tree commit diff
path: root/arch/parisc
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-05-30 02:36:00 -0400
committerKyle McMartin <kyle@minerva.i.cabal.ca>2007-05-30 02:36:00 -0400
commitcc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e (patch)
tree8c44a6892353109ef2eff587f87de161fbc4d6c4 /arch/parisc
parent376e210b71d7736775f43f32c5c7712f90aaf59a (diff)
downloadlinux-cc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e.tar.gz
[PARISC] be more defensive in process.c::get_wchan
While debugging, I noticed we don't check the task_struct arg passed to
get_wchan, whereas everyone else does.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/kernel/process.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index 0dd3847f494c..355664812b83 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -381,6 +381,10 @@ get_wchan(struct task_struct *p)
 	struct unwind_frame_info info;
 	unsigned long ip;
 	int count = 0;
+
+	if (!p || p == current || p->state == TASK_RUNNING)
+		return 0;
+
 	/*
 	 * These bracket the sleeping functions..
 	 */