--- /dev/null
+Index: linux-2.6/kernel/sched.c
+===================================================================
+--- linux-2.6.orig/kernel/sched.c 2006-07-15 11:51:46.000000000 +0800
++++ linux-2.6/kernel/sched.c 2006-07-15 16:24:35.000000000 +0800
+@@ -4652,7 +4652,7 @@ static inline struct task_struct *younge
+
+ static const char stat_nam[] = "RSDTtZX";
+
+-static void show_task(struct task_struct *p)
++void show_task(struct task_struct *p)
+ {
+ struct task_struct *relative;
+ unsigned long free = 0;
+@@ -4698,9 +4698,10 @@ static void show_task(struct task_struct
+ else
+ printk(" (NOTLB)\n");
+
+- if (state != TASK_RUNNING)
++ if (state != TASK_RUNNING || p == current)
+ show_stack(p, NULL);
+ }
++EXPORT_SYMBOL(show_task);
+
+ void show_state(void)
+ {