|
@@ -817,7 +817,7 @@ struct prio_array;
|
|
|
|
|
|
struct task_struct {
|
|
|
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
|
|
|
- struct thread_info *thread_info;
|
|
|
+ void *stack;
|
|
|
atomic_t usage;
|
|
|
unsigned int flags; /* per process flags, defined below */
|
|
|
unsigned int ptrace;
|
|
@@ -1513,8 +1513,8 @@ static inline void unlock_task_sighand(struct task_struct *tsk,
|
|
|
|
|
|
#ifndef __HAVE_THREAD_FUNCTIONS
|
|
|
|
|
|
-#define task_thread_info(task) (task)->thread_info
|
|
|
-#define task_stack_page(task) ((void*)((task)->thread_info))
|
|
|
+#define task_thread_info(task) ((struct thread_info *)(task)->stack)
|
|
|
+#define task_stack_page(task) ((task)->stack)
|
|
|
|
|
|
static inline void setup_thread_stack(struct task_struct *p, struct task_struct *org)
|
|
|
{
|
|
@@ -1524,7 +1524,7 @@ static inline void setup_thread_stack(struct task_struct *p, struct task_struct
|
|
|
|
|
|
static inline unsigned long *end_of_stack(struct task_struct *p)
|
|
|
{
|
|
|
- return (unsigned long *)(p->thread_info + 1);
|
|
|
+ return (unsigned long *)(task_thread_info(p) + 1);
|
|
|
}
|
|
|
|
|
|
#endif
|