diff options
author | Kyle McMartin <kyle@parisc-linux.org> | 2007-05-30 02:36:00 -0400 |
---|---|---|
committer | Kyle McMartin <kyle@minerva.i.cabal.ca> | 2007-05-30 02:36:00 -0400 |
commit | cc650a7a9f5ebc3f9290a8e20e3f55b4f52f849e (patch) | |
tree | 8c44a6892353109ef2eff587f87de161fbc4d6c4 /arch/parisc/kernel/process.c | |
parent | 376e210b71d7736775f43f32c5c7712f90aaf59a (diff) | |
download | op-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.c | 4 |
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.. */ |