1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX__INIT_TASK_H
3#define _LINUX__INIT_TASK_H
4
5#include <linux/rcupdate.h>
6#include <linux/irqflags.h>
7#include <linux/utsname.h>
8#include <linux/lockdep.h>
9#include <linux/ftrace.h>
10#include <linux/ipc.h>
11#include <linux/pid_namespace.h>
12#include <linux/user_namespace.h>
13#include <linux/securebits.h>
14#include <linux/seqlock.h>
15#include <linux/rbtree.h>
16#include <linux/refcount.h>
17#include <linux/sched/autogroup.h>
18#include <net/net_namespace.h>
19#include <linux/sched/rt.h>
20#include <linux/livepatch.h>
21#include <linux/mm_types.h>
22
23#include <asm/thread_info.h>
24
25extern struct files_struct init_files;
26extern struct fs_struct init_fs;
27extern struct nsproxy init_nsproxy;
28extern struct cred init_cred;
29
30#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
31#define INIT_PREV_CPUTIME(x) .prev_cputime = { \
32 .lock = __RAW_SPIN_LOCK_UNLOCKED(x.prev_cputime.lock), \
33},
34#else
35#define INIT_PREV_CPUTIME(x)
36#endif
37
38#define INIT_TASK_COMM "swapper"
39
40/* Attach to the init_task data structure for proper alignment */
41#ifdef CONFIG_ARCH_TASK_STRUCT_ON_STACK
42#define __init_task_data __section(".data..init_task")
43#else
44#define __init_task_data /**/
45#endif
46
47/* Attach to the thread_info data structure for proper alignment */
48#define __init_thread_info __section(".data..init_thread_info")
49
50#endif
51

source code of linux/include/linux/init_task.h