Browse Source

spinlock_debug: print offset in addition to symbol name

If there are two spinlocks embedded in a structure that kallsyms knows
about and one of the spinlocks locks up we will print the name of the
containing structure instead of the address of the lock.  This is quite
bad, so let's use %pS instead of %ps so we get an offset in addition to
the symbol so we can determine which particular lock is having problems.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Stephen Boyd 13 năm trước cách đây
mục cha
commit
4b0681487b
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      lib/spinlock_debug.c

+ 1 - 1
lib/spinlock_debug.c

@@ -58,7 +58,7 @@ static void spin_dump(raw_spinlock_t *lock, const char *msg)
 	printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n",
 	printk(KERN_EMERG "BUG: spinlock %s on CPU#%d, %s/%d\n",
 		msg, raw_smp_processor_id(),
 		msg, raw_smp_processor_id(),
 		current->comm, task_pid_nr(current));
 		current->comm, task_pid_nr(current));
-	printk(KERN_EMERG " lock: %ps, .magic: %08x, .owner: %s/%d, "
+	printk(KERN_EMERG " lock: %pS, .magic: %08x, .owner: %s/%d, "
 			".owner_cpu: %d\n",
 			".owner_cpu: %d\n",
 		lock, lock->magic,
 		lock, lock->magic,
 		owner ? owner->comm : "<none>",
 		owner ? owner->comm : "<none>",