| From 26392ede3a9d06de9864e47c752cf425bc108be1 Mon Sep 17 00:00:00 2001 |
| From: Olaf Hering <olaf@aepfle.de> |
| Date: Tue, 25 May 2010 00:04:28 +0200 |
| Subject: [PATCH] fix undefined references to kernel_sem |
| |
| commit 9846da2c9d0098bd3bbace16865aec9c463669a3 in tip. |
| |
| protect kernel_sem access with CONFIG_LOCK_KERNEL |
| lib/kernel_lock.c is compiled conditionally. |
| |
| Signed-off-by: Olaf Hering <olaf@aepfle.de> |
| LKML-Reference: <20100524220428.GA17771@aepfle.de> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| diff --git a/init/main.c b/init/main.c |
| index 39a4f75..63252e8 100644 |
| --- a/init/main.c |
| +++ b/init/main.c |
| @@ -629,9 +629,13 @@ asmlinkage void __init start_kernel(void) |
| * the lockdep state, so release the one known lock and |
| * acquire it again after the self-test is done. |
| */ |
| +#ifdef CONFIG_LOCK_KERNEL |
| mutex_release(&kernel_sem.dep_map, 1, _THIS_IP_); |
| +#endif |
| locking_selftest(); |
| +#ifdef CONFIG_LOCK_KERNEL |
| mutex_acquire(&kernel_sem.dep_map, 0, 0, _THIS_IP_); |
| +#endif |
| } |
| |
| #ifdef CONFIG_BLK_DEV_INITRD |
| diff --git a/kernel/lockdep.c b/kernel/lockdep.c |
| index 1199bda..c74c909 100644 |
| --- a/kernel/lockdep.c |
| +++ b/kernel/lockdep.c |
| @@ -3608,8 +3608,10 @@ void lockdep_init(void) |
| for (i = 0; i < CHAINHASH_SIZE; i++) |
| INIT_LIST_HEAD(chainhash_table + i); |
| |
| +#ifdef CONFIG_LOCK_KERNEL |
| /* Hack alert ! */ |
| lockdep_set_novalidate_class(&kernel_sem); |
| +#endif |
| |
| lockdep_initialized = 1; |
| } |
| -- |
| 1.7.1.1 |
| |