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) |
[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 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) | |||
381 | struct unwind_frame_info info; | 381 | struct unwind_frame_info info; |
382 | unsigned long ip; | 382 | unsigned long ip; |
383 | int count = 0; | 383 | int count = 0; |
384 | |||
385 | if (!p || p == current || p->state == TASK_RUNNING) | ||
386 | return 0; | ||
387 | |||
384 | /* | 388 | /* |
385 | * These bracket the sleeping functions.. | 389 | * These bracket the sleeping functions.. |
386 | */ | 390 | */ |