diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-08 00:06:54 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-08 00:06:54 (GMT) |
commit | 78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c (patch) | |
tree | 8e3fce9f27fd058904c0a3247a5c5ebb8df9fbe8 | |
parent | cd816a0d84377c4e87f55cbe934a23417f9f5743 (diff) | |
parent | 5f202bd5ca64132cdd7f186656bc0221f257733d (diff) | |
download | linux-78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c.tar.xz |
Merge branch 'bkl/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing
* 'bkl/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
do_coredump: Do not take BKL
init: Remove the BKL from startup code
-rw-r--r-- | fs/exec.c | 7 | ||||
-rw-r--r-- | init/main.c | 5 | ||||
-rw-r--r-- | kernel/trace/trace.c | 8 |
3 files changed, 0 insertions, 20 deletions
@@ -28,7 +28,6 @@ #include <linux/mm.h> #include <linux/stat.h> #include <linux/fcntl.h> -#include <linux/smp_lock.h> #include <linux/swap.h> #include <linux/string.h> #include <linux/init.h> @@ -1892,13 +1891,7 @@ void do_coredump(long signr, int exit_code, struct pt_regs *regs) */ clear_thread_flag(TIF_SIGPENDING); - /* - * lock_kernel() because format_corename() is controlled by sysctl, which - * uses lock_kernel() - */ - lock_kernel(); ispipe = format_corename(corename, signr); - unlock_kernel(); if (ispipe) { int dump_count; diff --git a/init/main.c b/init/main.c index e97fade..b8b6eff 100644 --- a/init/main.c +++ b/init/main.c @@ -441,7 +441,6 @@ static noinline void __init_refok rest_init(void) kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns); rcu_read_unlock(); complete(&kthreadd_done); - unlock_kernel(); /* * The boot idle thread must execute schedule() @@ -563,7 +562,6 @@ asmlinkage void __init start_kernel(void) * Interrupts are still disabled. Do necessary setups, then * enable them */ - lock_kernel(); tick_init(); boot_cpu_init(); page_address_init(); @@ -820,7 +818,6 @@ static noinline int init_post(void) /* need to finish all async __init code before freeing the memory */ async_synchronize_full(); free_initmem(); - unlock_kernel(); mark_rodata_ro(); system_state = SYSTEM_RUNNING; numa_default_policy(); @@ -860,8 +857,6 @@ static int __init kernel_init(void * unused) * Wait until kthreadd is all set-up. */ wait_for_completion(&kthreadd_done); - lock_kernel(); - /* * init can allocate pages on any node */ diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index ed1032d..ba14a22 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -741,13 +741,6 @@ __acquires(kernel_lock) return -1; } - /* - * When this gets called we hold the BKL which means that - * preemption is disabled. Various trace selftests however - * need to disable and enable preemption for successful tests. - * So we drop the BKL here and grab it after the tests again. - */ - unlock_kernel(); mutex_lock(&trace_types_lock); tracing_selftest_running = true; @@ -829,7 +822,6 @@ __acquires(kernel_lock) #endif out_unlock: - lock_kernel(); return ret; } |