Re: [PATCH] show_task() and thread_saved_pc() fix for x86

From: Ralf Baechle (ralf@uni-koblenz.de)
Date: Sat Nov 11 2000 - 08:06:34 EST


On Fri, Nov 10, 2000 at 04:26:32PM -0500, Alexander Viro wrote:

> * thread_saved_pc() on x86 returns (thread->esp)[3]. Bogus, since the
> third word from the stack top has absolutely nothing to return address of
> any kind. Correct value: (thread->esp)[0][1] - ebp is on top of the stack
> and the rest is obvious. Current code gives completely bogus addresses -
> try to say Alt-SysRq-T and watch the show.

Reminds me that the Alpha implementation of get_wchan() looks to me like
it doesn't handle all cases of schedule() being called from another
scheduler function correctly. Some Alpha guru may want to take a look at
it.

I recently had to fix the mips / mips64 versions of get_wchan() - for the
dozenth time. I'd really like to see a wchan field in task_struct to avoid
get_wchan breaking every once in a while. Current implementation more than
qualifies as a crazy hack ...

  Ralf
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Nov 15 2000 - 21:00:21 EST