Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf20753c authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'core-fixes-for-linus' of...

Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  lockdep: continue lock debugging despite some taints
  lockdep: warn about lockdep disabling after kernel taint
parents 01599fca 574bbe78
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2,12 +2,19 @@
#define __LINUX_DEBUG_LOCKING_H

#include <linux/kernel.h>
#include <asm/atomic.h>

struct task_struct;

extern int debug_locks;
extern int debug_locks_silent;


static inline int __debug_locks_off(void)
{
	return xchg(&debug_locks, 0);
}

/*
 * Generic 'turn off all lock debugging' function:
 */
+10 −2
Original line number Diff line number Diff line
@@ -213,8 +213,16 @@ unsigned long get_taint(void)

void add_taint(unsigned flag)
{
	/* can't trust the integrity of the kernel anymore: */
	debug_locks = 0;
	/*
	 * Can't trust the integrity of the kernel anymore.
	 * We don't call directly debug_locks_off() because the issue
	 * is not necessarily serious enough to set oops_in_progress to 1
	 * 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 lockdep due to kernel taint\n");

	set_bit(flag, &tainted_mask);
}
EXPORT_SYMBOL(add_taint);
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ int debug_locks_silent;
 */
int debug_locks_off(void)
{
	if (xchg(&debug_locks, 0)) {
	if (__debug_locks_off()) {
		if (!debug_locks_silent) {
			oops_in_progress = 1;
			console_verbose();