diff options
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 42 | ||||
-rw-r--r-- | init/do_mounts_initrd.c | 3 | ||||
-rw-r--r-- | init/main.c | 6 | ||||
-rw-r--r-- | init/version.c | 23 |
4 files changed, 52 insertions, 22 deletions
diff --git a/init/Kconfig b/init/Kconfig index d2eb7a84a26..10382931eea 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -115,6 +115,15 @@ config SYSVIPC section 6.4 of the Linux Programmer's Guide, available from <http://www.tldp.org/guides.html>. +config IPC_NS + bool "IPC Namespaces" + depends on SYSVIPC + default n + help + Support ipc namespaces. This allows containers, i.e. virtual + environments, to use ipc namespaces to provide different ipc + objects for different servers. If unsure, say N. + config POSIX_MQUEUE bool "POSIX Message Queues" depends on NET && EXPERIMENTAL @@ -182,6 +191,14 @@ config TASK_DELAY_ACCT Say N if unsure. +config UTS_NS + bool "UTS Namespaces" + default n + help + Support uts namespaces. This allows containers, i.e. + vservers, to use uts namespaces to provide different + uts info for different servers. If unsure, say N. + config AUDIT bool "Auditing support" depends on NET @@ -202,7 +219,7 @@ config AUDITSYSCALL ensure that INOTIFY is configured. config IKCONFIG - bool "Kernel .config support" + tristate "Kernel .config support" ---help--- This option enables the complete Linux kernel ".config" file contents to be saved in the kernel. It provides documentation @@ -257,6 +274,18 @@ config CC_OPTIMIZE_FOR_SIZE If unsure, say N. +config TASK_XACCT + bool "Enable extended accounting over taskstats (EXPERIMENTAL)" + depends on TASKSTATS + help + Collect extended task accounting data and send the data + to userland for processing over the taskstats interface. + + Say N if unsure. + +config SYSCTL + bool + menuconfig EMBEDDED bool "Configure standard kernel features (for small systems)" help @@ -272,11 +301,8 @@ config UID16 help This enables the legacy 16-bit UID syscall wrappers. -config SYSCTL - bool - config SYSCTL_SYSCALL - bool "Sysctl syscall support" + bool "Sysctl syscall support" if EMBEDDED default n select SYSCTL ---help--- @@ -285,11 +311,11 @@ config SYSCTL_SYSCALL and use. The interface in /proc/sys is now the primary and what everyone uses. - Nothing has been using the binary sysctl interface for some time + Nothing has been using the binary sysctl interface for some time now so nothing should break if you disable sysctl syscall - support, and you kernel will get marginally smaller. + support, and your kernel will get marginally smaller. - Unless you have an application that uses the sys_syscall interface + Unless you have an application that uses the sys_sysctl interface you should probably say N here. config KALLSYMS diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index a06f037fa00..919a80cb322 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -1,4 +1,3 @@ -#define __KERNEL_SYSCALLS__ #include <linux/unistd.h> #include <linux/kernel.h> #include <linux/fs.h> @@ -35,7 +34,7 @@ static int __init do_linuxrc(void * shell) (void) sys_open("/dev/console",O_RDWR,0); (void) sys_dup(0); (void) sys_dup(0); - return execve(shell, argv, envp_init); + return kernel_execve(shell, argv, envp_init); } static void __init handle_initrd(void) diff --git a/init/main.c b/init/main.c index 0766e69712b..ee123243fb5 100644 --- a/init/main.c +++ b/init/main.c @@ -9,8 +9,6 @@ * Simplified starting of init: Michael A. Griffith <grif@acm.org> */ -#define __KERNEL_SYSCALLS__ - #include <linux/types.h> #include <linux/module.h> #include <linux/proc_fs.h> @@ -703,7 +701,7 @@ static void do_pre_smp_initcalls(void) static void run_init_process(char *init_filename) { argv_init[0] = init_filename; - execve(init_filename, argv_init, envp_init); + kernel_execve(init_filename, argv_init, envp_init); } static int init(void * unused) @@ -723,6 +721,8 @@ static int init(void * unused) */ child_reaper = current; + cad_pid = task_pid(current); + smp_prepare_cpus(max_cpus); do_pre_smp_initcalls(); diff --git a/init/version.c b/init/version.c index e290802c6bd..8f28344d9c7 100644 --- a/init/version.c +++ b/init/version.c @@ -12,22 +12,27 @@ #include <linux/utsname.h> #include <linux/utsrelease.h> #include <linux/version.h> +#include <linux/sched.h> #define version(a) Version_ ## a #define version_string(a) version(a) int version_string(LINUX_VERSION_CODE); -struct new_utsname system_utsname = { - .sysname = UTS_SYSNAME, - .nodename = UTS_NODENAME, - .release = UTS_RELEASE, - .version = UTS_VERSION, - .machine = UTS_MACHINE, - .domainname = UTS_DOMAINNAME, +struct uts_namespace init_uts_ns = { + .kref = { + .refcount = ATOMIC_INIT(2), + }, + .name = { + .sysname = UTS_SYSNAME, + .nodename = UTS_NODENAME, + .release = UTS_RELEASE, + .version = UTS_VERSION, + .machine = UTS_MACHINE, + .domainname = UTS_DOMAINNAME, + }, }; - -EXPORT_SYMBOL(system_utsname); +EXPORT_SYMBOL_GPL(init_uts_ns); const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" |