aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/init_task.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/init_task.h')
-rw-r--r--include/linux/init_task.h14
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