diff options
Diffstat (limited to 'include/linux/init_task.h')
-rw-r--r-- | include/linux/init_task.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index b0ed422e4e4a..6df7f9fe0d01 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/user_namespace.h> | 11 | #include <linux/user_namespace.h> |
12 | #include <linux/securebits.h> | 12 | #include <linux/securebits.h> |
13 | #include <linux/seqlock.h> | 13 | #include <linux/seqlock.h> |
14 | #include <linux/rbtree.h> | ||
14 | #include <net/net_namespace.h> | 15 | #include <net/net_namespace.h> |
15 | #include <linux/sched/rt.h> | 16 | #include <linux/sched/rt.h> |
16 | 17 | ||
@@ -40,6 +41,7 @@ extern struct fs_struct init_fs; | |||
40 | 41 | ||
41 | #define INIT_SIGNALS(sig) { \ | 42 | #define INIT_SIGNALS(sig) { \ |
42 | .nr_threads = 1, \ | 43 | .nr_threads = 1, \ |
44 | .thread_head = LIST_HEAD_INIT(init_task.thread_node), \ | ||
43 | .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(sig.wait_chldexit),\ | 45 | .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(sig.wait_chldexit),\ |
44 | .shared_pending = { \ | 46 | .shared_pending = { \ |
45 | .list = LIST_HEAD_INIT(sig.shared_pending.list), \ | 47 | .list = LIST_HEAD_INIT(sig.shared_pending.list), \ |
@@ -95,7 +97,7 @@ extern struct group_info init_groups; | |||
95 | #ifdef CONFIG_AUDITSYSCALL | 97 | #ifdef CONFIG_AUDITSYSCALL |
96 | #define INIT_IDS \ | 98 | #define INIT_IDS \ |
97 | .loginuid = INVALID_UID, \ | 99 | .loginuid = INVALID_UID, \ |
98 | .sessionid = -1, | 100 | .sessionid = (unsigned int)-1, |
99 | #else | 101 | #else |
100 | #define INIT_IDS | 102 | #define INIT_IDS |
101 | #endif | 103 | #endif |
@@ -154,6 +156,14 @@ extern struct task_group root_task_group; | |||
154 | 156 | ||
155 | #define INIT_TASK_COMM "swapper" | 157 | #define INIT_TASK_COMM "swapper" |
156 | 158 | ||
159 | #ifdef CONFIG_RT_MUTEXES | ||
160 | # define INIT_RT_MUTEXES(tsk) \ | ||
161 | .pi_waiters = RB_ROOT, \ | ||
162 | .pi_waiters_leftmost = NULL, | ||
163 | #else | ||
164 | # define INIT_RT_MUTEXES(tsk) | ||
165 | #endif | ||
166 | |||
157 | /* | 167 | /* |
158 | * INIT_TASK is used to set up the first task table, touch at | 168 | * INIT_TASK is used to set up the first task table, touch at |
159 | * your own risk!. Base=0, limit=0x1fffff (=2MB) | 169 | * your own risk!. Base=0, limit=0x1fffff (=2MB) |
@@ -213,6 +223,7 @@ extern struct task_group root_task_group; | |||
213 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ | 223 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ |
214 | }, \ | 224 | }, \ |
215 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ | 225 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ |
226 | .thread_node = LIST_HEAD_INIT(init_signals.thread_head), \ | ||
216 | INIT_IDS \ | 227 | INIT_IDS \ |
217 | INIT_PERF_EVENTS(tsk) \ | 228 | INIT_PERF_EVENTS(tsk) \ |
218 | INIT_TRACE_IRQFLAGS \ | 229 | INIT_TRACE_IRQFLAGS \ |
@@ -221,6 +232,7 @@ extern struct task_group root_task_group; | |||
221 | INIT_TRACE_RECURSION \ | 232 | INIT_TRACE_RECURSION \ |
222 | INIT_TASK_RCU_PREEMPT(tsk) \ | 233 | INIT_TASK_RCU_PREEMPT(tsk) \ |
223 | INIT_CPUSET_SEQ(tsk) \ | 234 | INIT_CPUSET_SEQ(tsk) \ |
235 | INIT_RT_MUTEXES(tsk) \ | ||
224 | INIT_VTIME(tsk) \ | 236 | INIT_VTIME(tsk) \ |
225 | } | 237 | } |
226 | 238 | ||