summaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel
diff options
context:
space:
mode:
authorKyle McMartin <kyle@parisc-linux.org>2007-05-30 08:36:00 +0200
committerKyle McMartin <kyle@minerva.i.cabal.ca>2007-05-30 08:36:00 +0200
commitcc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e (patch)
tree8c44a6892353109ef2eff587f87de161fbc4d6c4 /arch/parisc/kernel
parent[PARISC] fix "reduce size of task_struct on 64-bit machines" fallout (diff)
downloadlinux-cc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e.tar.xz
linux-cc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e.zip
[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/kernel')
-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..
*/