summaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/process.c
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/kernel/process.c
parent376e210b71d7736775f43f32c5c7712f90aaf59a (diff)
downloadop-kernel-dev-cc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e.zip
op-kernel-dev-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/kernel/process.c')
-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 0dd3847..3556648 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..
*/
OpenPOWER on IntegriCloud