提交 b23984d0 编写于 作者: J Jarek Poplawski 提交者: Linus Torvalds

[PATCH] lockdep: misc fixes in lockdep.c

 - numeric string size replaced with constant in print_lock_name and
   print_lockdep_cache,

 - return on null pointer in print_lock_dependencies,

 - one more lockdep return with 0 with unlocking fix in mark_lock.
Signed-off-by: NJarek Poplawski <jarkao2@o2.pl>
Acked-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 910b1b2e
...@@ -359,7 +359,7 @@ get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, char *c4 ...@@ -359,7 +359,7 @@ get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, char *c4
static void print_lock_name(struct lock_class *class) static void print_lock_name(struct lock_class *class)
{ {
char str[128], c1, c2, c3, c4; char str[KSYM_NAME_LEN + 1], c1, c2, c3, c4;
const char *name; const char *name;
get_usage_chars(class, &c1, &c2, &c3, &c4); get_usage_chars(class, &c1, &c2, &c3, &c4);
...@@ -381,7 +381,7 @@ static void print_lock_name(struct lock_class *class) ...@@ -381,7 +381,7 @@ static void print_lock_name(struct lock_class *class)
static void print_lockdep_cache(struct lockdep_map *lock) static void print_lockdep_cache(struct lockdep_map *lock)
{ {
const char *name; const char *name;
char str[128]; char str[KSYM_NAME_LEN + 1];
name = lock->name; name = lock->name;
if (!name) if (!name)
...@@ -451,7 +451,9 @@ static void print_lock_dependencies(struct lock_class *class, int depth) ...@@ -451,7 +451,9 @@ static void print_lock_dependencies(struct lock_class *class, int depth)
print_lock_class_header(class, depth); print_lock_class_header(class, depth);
list_for_each_entry(entry, &class->locks_after, entry) { list_for_each_entry(entry, &class->locks_after, entry) {
DEBUG_LOCKS_WARN_ON(!entry->class); if (DEBUG_LOCKS_WARN_ON(!entry->class))
return;
print_lock_dependencies(entry->class, depth + 1); print_lock_dependencies(entry->class, depth + 1);
printk("%*s ... acquired at:\n",depth,""); printk("%*s ... acquired at:\n",depth,"");
...@@ -1733,6 +1735,7 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this, ...@@ -1733,6 +1735,7 @@ static int mark_lock(struct task_struct *curr, struct held_lock *this,
debug_atomic_dec(&nr_unused_locks); debug_atomic_dec(&nr_unused_locks);
break; break;
default: default:
__raw_spin_unlock(&hash_lock);
debug_locks_off(); debug_locks_off();
WARN_ON(1); WARN_ON(1);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册