diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-09 16:51:25 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2017-02-09 16:51:25 +1100 |
commit | a9be5a59553a6b5d424d8ed37f058edfcc09a7d9 (patch) | |
tree | 9a06877913222d1d4f0ccc09c34d23a3b88d6e10 /init | |
parent | eb27cd91f0b42319cd1cdefbed9ed7d87215890f (diff) | |
parent | 0cbe42d9fadb4e29daa00a86d7030488d9469912 (diff) |
Merge branch 'akpm-current/current'
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 14 | ||||
-rw-r--r-- | init/initramfs.c | 2 | ||||
-rw-r--r-- | init/main.c | 9 |
3 files changed, 20 insertions, 5 deletions
diff --git a/init/Kconfig b/init/Kconfig index 87cb6d35a60d..c859c993c26f 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1795,6 +1795,20 @@ config SLUB_DEBUG SLUB sysfs support. /sys/slab will not exist and there will be no support for cache validation etc. +config SLUB_MEMCG_SYSFS_ON + default n + bool "Enable memcg SLUB sysfs support by default" if EXPERT + depends on SLUB && SYSFS && MEMCG + help + SLUB creates a directory under /sys/kernel/slab for each + allocation cache to host info and debug files. If memory + cgroup is enabled, each cache can have per memory cgroup + caches. SLUB can create the same sysfs directories for these + caches under /sys/kernel/slab/CACHE/cgroup but it can lead + to a very high number of debug files being created. This is + controlled by slub_memcg_sysfs boot parameter and this + config option determines the parameter's default value. + config COMPAT_BRK bool "Disable heap randomization" default y diff --git a/init/initramfs.c b/init/initramfs.c index b32ad7d97ac9..981f286c1d16 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -18,6 +18,7 @@ #include <linux/dirent.h> #include <linux/syscalls.h> #include <linux/utime.h> +#include <linux/file.h> static ssize_t __init xwrite(int fd, const char *p, size_t count) { @@ -647,6 +648,7 @@ static int __init populate_rootfs(void) printk(KERN_EMERG "Initramfs unpacking failed: %s\n", err); free_initrd(); #endif + flush_delayed_fput(); /* * Try loading default modules from initramfs. This gives * us a chance to load before device_initcalls. diff --git a/init/main.c b/init/main.c index 22db6244e447..4719abfed872 100644 --- a/init/main.c +++ b/init/main.c @@ -71,7 +71,6 @@ #include <linux/shmem_fs.h> #include <linux/slab.h> #include <linux/perf_event.h> -#include <linux/file.h> #include <linux/ptrace.h> #include <linux/blkdev.h> #include <linux/elevator.h> @@ -83,6 +82,7 @@ #include <linux/proc_ns.h> #include <linux/io.h> #include <linux/cache.h> +#include <linux/rodata_test.h> #include <asm/io.h> #include <asm/bugs.h> @@ -935,9 +935,10 @@ __setup("rodata=", set_debug_rodata); #ifdef CONFIG_STRICT_KERNEL_RWX static void mark_readonly(void) { - if (rodata_enabled) + if (rodata_enabled) { mark_rodata_ro(); - else + rodata_test(); + } else pr_info("Kernel memory protection disabled.\n"); } #else @@ -959,8 +960,6 @@ static int __ref kernel_init(void *unused) system_state = SYSTEM_RUNNING; numa_default_policy(); - flush_delayed_fput(); - rcu_end_inkernel_boot(); if (ramdisk_execute_command) { |