From db2455d48d7b162962c2d6aeb765e89fc0e1d040 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 12 May 2008 21:21:00 +0200 Subject: [PATCH] --- yaml --- r: 100519 b: refs/heads/master c: bb065afb8ebd07a03155502dba29ebf0f6fe67e8 h: refs/heads/master i: 100517: 4372c87e5c897cfea12c2d747fe5744aa3bce777 100515: c9fdbb0915956551e0d339c345cc399c618da925 100511: 967081aeccce2bf535795822b16d108b21d57f8e v: v3 --- [refs] | 2 +- trunk/kernel/lockdep.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 5c3b156713f7..bfca5d8e5c75 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a98a3c3fde3ae7614f19758a043691b6f59dac53 +refs/heads/master: bb065afb8ebd07a03155502dba29ebf0f6fe67e8 diff --git a/trunk/kernel/lockdep.c b/trunk/kernel/lockdep.c index 90a440cbd6de..65548eff029e 100644 --- a/trunk/kernel/lockdep.c +++ b/trunk/kernel/lockdep.c @@ -82,6 +82,8 @@ static int graph_lock(void) __raw_spin_unlock(&lockdep_lock); return 0; } + /* prevent any recursions within lockdep from causing deadlocks */ + current->lockdep_recursion++; return 1; } @@ -90,6 +92,7 @@ static inline int graph_unlock(void) if (debug_locks && !__raw_spin_is_locked(&lockdep_lock)) return DEBUG_LOCKS_WARN_ON(1); + current->lockdep_recursion--; __raw_spin_unlock(&lockdep_lock); return 0; }