From e6804feade4c5f6d5e0806a535be17d047c68385 Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 22 Jan 2012 09:57:39 +0000 Subject: generic: 3.2: don't disable lockdep for OOT modules git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29846 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 target/linux/generic/patches-3.2/030-lockdep-bug-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch (limited to 'target/linux/generic/patches-3.2/030-lockdep-bug-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch') diff --git a/target/linux/generic/patches-3.2/030-lockdep-bug-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch b/target/linux/generic/patches-3.2/030-lockdep-bug-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch new file mode 100644 index 000000000..212a7a517 --- /dev/null +++ b/target/linux/generic/patches-3.2/030-lockdep-bug-Exclude-TAINT_FIRMWARE_WORKAROUND-from-d.patch @@ -0,0 +1,47 @@ +From df754e6af2f237a6c020c0daff55a1a609338e31 Mon Sep 17 00:00:00 2001 +From: Peter Zijlstra +Date: Mon, 14 Nov 2011 13:13:49 +0100 +Subject: [PATCH 1/2] lockdep, bug: Exclude TAINT_FIRMWARE_WORKAROUND from disabling lockdep + +It's unlikely that TAINT_FIRMWARE_WORKAROUND causes false +lockdep messages, so do not disable lockdep in that case. +We still want to keep lockdep disabled in the +TAINT_OOT_MODULE case: + + - bin-only modules can cause various instabilities in + their and in unrelated kernel code + + - they are impossible to debug for kernel developers + + - they also typically do not have the copyright license + permission to link to the GPL-ed lockdep code. + +Suggested-by: Ben Hutchings +Signed-off-by: Peter Zijlstra +Link: http://lkml.kernel.org/n/tip-xopopjjens57r0i13qnyh2yo@git.kernel.org +Signed-off-by: Ingo Molnar +--- + kernel/panic.c | 12 ++++++++++-- + 1 files changed, 10 insertions(+), 2 deletions(-) + +--- a/kernel/panic.c ++++ b/kernel/panic.c +@@ -240,8 +240,16 @@ void add_taint(unsigned flag) + * Also we want to keep up lockdep for staging development and + * post-warning case. + */ +- if (flag != TAINT_CRAP && flag != TAINT_WARN && __debug_locks_off()) +- printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n"); ++ switch (flag) { ++ case TAINT_CRAP: ++ case TAINT_WARN: ++ case TAINT_FIRMWARE_WORKAROUND: ++ break; ++ ++ default: ++ if (__debug_locks_off()) ++ printk(KERN_WARNING "Disabling lock debugging due to kernel taint\n"); ++ } + + set_bit(flag, &tainted_mask); + } -- cgit v1.2.3