Actually the code returns the stack pointer (esp) anded with ~8191
(FFFE000).
The trick is that kernel task structures are allocated at the low end of
the kernel stack for each task. The stack is a the high end of the
address range and works down. (Kernel stack overflow will "eat" the
task structure.)
current is (struct tast_struct *) and points to the task_struc for the
current task (how could it be otherwise, given that it comes from the
tasks stack pointer).
George
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/