|
@@ -23,6 +23,9 @@
|
|
|
|
|
|
extern struct files_struct init_files;
|
|
|
extern struct fs_struct init_fs;
|
|
|
+extern struct nsproxy init_nsproxy;
|
|
|
+extern struct group_info init_groups;
|
|
|
+extern struct cred init_cred;
|
|
|
|
|
|
#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
|
|
|
#define INIT_PREV_CPUTIME(x) .prev_cputime = { \
|
|
@@ -33,52 +36,16 @@ extern struct fs_struct init_fs;
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_POSIX_TIMERS
|
|
|
-#define INIT_POSIX_TIMERS(s) \
|
|
|
- .posix_timers = LIST_HEAD_INIT(s.posix_timers),
|
|
|
#define INIT_CPU_TIMERS(s) \
|
|
|
.cpu_timers = { \
|
|
|
LIST_HEAD_INIT(s.cpu_timers[0]), \
|
|
|
LIST_HEAD_INIT(s.cpu_timers[1]), \
|
|
|
- LIST_HEAD_INIT(s.cpu_timers[2]), \
|
|
|
- },
|
|
|
-#define INIT_CPUTIMER(s) \
|
|
|
- .cputimer = { \
|
|
|
- .cputime_atomic = INIT_CPUTIME_ATOMIC, \
|
|
|
- .running = false, \
|
|
|
- .checking_timer = false, \
|
|
|
+ LIST_HEAD_INIT(s.cpu_timers[2]), \
|
|
|
},
|
|
|
#else
|
|
|
-#define INIT_POSIX_TIMERS(s)
|
|
|
#define INIT_CPU_TIMERS(s)
|
|
|
-#define INIT_CPUTIMER(s)
|
|
|
#endif
|
|
|
|
|
|
-#define INIT_SIGNALS(sig) { \
|
|
|
- .nr_threads = 1, \
|
|
|
- .thread_head = LIST_HEAD_INIT(init_task.thread_node), \
|
|
|
- .wait_chldexit = __WAIT_QUEUE_HEAD_INITIALIZER(sig.wait_chldexit),\
|
|
|
- .shared_pending = { \
|
|
|
- .list = LIST_HEAD_INIT(sig.shared_pending.list), \
|
|
|
- .signal = {{0}}}, \
|
|
|
- INIT_POSIX_TIMERS(sig) \
|
|
|
- INIT_CPU_TIMERS(sig) \
|
|
|
- .rlim = INIT_RLIMITS, \
|
|
|
- INIT_CPUTIMER(sig) \
|
|
|
- INIT_PREV_CPUTIME(sig) \
|
|
|
- .cred_guard_mutex = \
|
|
|
- __MUTEX_INITIALIZER(sig.cred_guard_mutex), \
|
|
|
-}
|
|
|
-
|
|
|
-extern struct nsproxy init_nsproxy;
|
|
|
-
|
|
|
-#define INIT_SIGHAND(sighand) { \
|
|
|
- .count = ATOMIC_INIT(1), \
|
|
|
- .action = { { { .sa_handler = SIG_DFL, } }, }, \
|
|
|
- .siglock = __SPIN_LOCK_UNLOCKED(sighand.siglock), \
|
|
|
- .signalfd_wqh = __WAIT_QUEUE_HEAD_INITIALIZER(sighand.signalfd_wqh), \
|
|
|
-}
|
|
|
-
|
|
|
-extern struct group_info init_groups;
|
|
|
|
|
|
#define INIT_STRUCT_PID { \
|
|
|
.count = ATOMIC_INIT(1), \
|
|
@@ -103,8 +70,6 @@ extern struct group_info init_groups;
|
|
|
.pid = &init_struct_pid, \
|
|
|
}
|
|
|
|
|
|
-extern struct cred init_cred;
|
|
|
-
|
|
|
#define INIT_TASK_COMM "swapper"
|
|
|
|
|
|
/* Attach to the init_task data structure for proper alignment */
|