Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3678e2fc authored by David Howells's avatar David Howells
Browse files

Expand the INIT_SIGNALS and INIT_SIGHAND macros and remove



There doesn't seem to be any need to have the INIT_SIGNALS and INIT_SIGHAND
macros, so expand them in their single places of use and remove them.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Tested-by: default avatarTony Luck <tony.luck@intel.com>
Tested-by: Will Deacon <will.deacon@arm.com> (arm64)
Tested-by: default avatarPalmer Dabbelt <palmer@sifive.com>
Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 4e7e3adb
Loading
Loading
Loading
Loading
+4 −39
Original line number Original line Diff line number Diff line
@@ -23,6 +23,9 @@


extern struct files_struct init_files;
extern struct files_struct init_files;
extern struct fs_struct init_fs;
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
#ifndef CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
#define INIT_PREV_CPUTIME(x)	.prev_cputime = {			\
#define INIT_PREV_CPUTIME(x)	.prev_cputime = {			\
@@ -33,52 +36,16 @@ extern struct fs_struct init_fs;
#endif
#endif


#ifdef CONFIG_POSIX_TIMERS
#ifdef CONFIG_POSIX_TIMERS
#define INIT_POSIX_TIMERS(s)						\
	.posix_timers = LIST_HEAD_INIT(s.posix_timers),
#define INIT_CPU_TIMERS(s)						\
#define INIT_CPU_TIMERS(s)						\
	.cpu_timers = {							\
	.cpu_timers = {							\
		LIST_HEAD_INIT(s.cpu_timers[0]),			\
		LIST_HEAD_INIT(s.cpu_timers[0]),			\
		LIST_HEAD_INIT(s.cpu_timers[1]),			\
		LIST_HEAD_INIT(s.cpu_timers[1]),			\
		LIST_HEAD_INIT(s.cpu_timers[2]),			\
		LIST_HEAD_INIT(s.cpu_timers[2]),			\
	},
	},
#define INIT_CPUTIMER(s)						\
	.cputimer	= { 						\
		.cputime_atomic	= INIT_CPUTIME_ATOMIC,			\
		.running	= false,				\
		.checking_timer = false,				\
	},
#else
#else
#define INIT_POSIX_TIMERS(s)
#define INIT_CPU_TIMERS(s)
#define INIT_CPU_TIMERS(s)
#define INIT_CPUTIMER(s)
#endif
#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 {						\
#define INIT_STRUCT_PID {						\
	.count 		= ATOMIC_INIT(1),				\
	.count 		= ATOMIC_INIT(1),				\
@@ -103,8 +70,6 @@ extern struct group_info init_groups;
	.pid = &init_struct_pid,				\
	.pid = &init_struct_pid,				\
}
}


extern struct cred init_cred;

#define INIT_TASK_COMM "swapper"
#define INIT_TASK_COMM "swapper"


/* Attach to the init_task data structure for proper alignment */
/* Attach to the init_task data structure for proper alignment */
+28 −2
Original line number Original line Diff line number Diff line
@@ -13,8 +13,34 @@
#include <asm/pgtable.h>
#include <asm/pgtable.h>
#include <linux/uaccess.h>
#include <linux/uaccess.h>


static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
static struct signal_struct init_signals = {
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
	.nr_threads	= 1,
	.thread_head	= LIST_HEAD_INIT(init_task.thread_node),
	.wait_chldexit	= __WAIT_QUEUE_HEAD_INITIALIZER(init_signals.wait_chldexit),
	.shared_pending	= {
		.list = LIST_HEAD_INIT(init_signals.shared_pending.list),
		.signal =  {{0}}
	},
	.rlim		= INIT_RLIMITS,
	.cred_guard_mutex = __MUTEX_INITIALIZER(init_signals.cred_guard_mutex),
#ifdef CONFIG_POSIX_TIMERS
	.posix_timers = LIST_HEAD_INIT(init_signals.posix_timers),
	.cputimer	= {
		.cputime_atomic	= INIT_CPUTIME_ATOMIC,
		.running	= false,
		.checking_timer = false,
	},
#endif
	INIT_CPU_TIMERS(init_signals)
	INIT_PREV_CPUTIME(init_signals)
};

static struct sighand_struct init_sighand = {
	.count		= ATOMIC_INIT(1),
	.action		= { { { .sa_handler = SIG_DFL, } }, },
	.siglock	= __SPIN_LOCK_UNLOCKED(init_sighand.siglock),
	.signalfd_wqh	= __WAIT_QUEUE_HEAD_INITIALIZER(init_sighand.signalfd_wqh),
};


/*
/*
 * Set up the first task table, touch at your own risk!. Base=0,
 * Set up the first task table, touch at your own risk!. Base=0,