Skip to content

Commit

Permalink
lockdep: handle chains involving classes defined in modules
Browse files Browse the repository at this point in the history
Solve this by marking the classes as unused and not printing information
about the unused classes.

Reported-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Acked-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Rabin Vincent authored and Ingo Molnar committed Aug 11, 2008
1 parent 7cd5a02 commit 8bfe029
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 0 deletions.
1 change: 1 addition & 0 deletions kernel/lockdep.c
Original file line number Diff line number Diff line change
Expand Up @@ -3176,6 +3176,7 @@ static void zap_class(struct lock_class *class)
list_del_rcu(&class->hash_entry);
list_del_rcu(&class->lock_entry);

class->key = NULL;
}

static inline int within(const void *addr, void *start, unsigned long size)
Expand Down
3 changes: 3 additions & 0 deletions kernel/lockdep_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,9 @@ static int lc_show(struct seq_file *m, void *v)

for (i = 0; i < chain->depth; i++) {
class = lock_chain_get_class(chain, i);
if (!class->key)
continue;

seq_printf(m, "[%p] ", class->key);
print_name(m, class);
seq_puts(m, "\n");
Expand Down

0 comments on commit 8bfe029

Please sign in to comment.