2016-11-17 06:01:29

by Masayoshi MIZUMA

[permalink] [raw]
Subject: [PATCH] list_debug: show address of prev and next when list_del corruption is detected.

When list_del corruption is detected, the corruption may happen
because of the region of prev or next is destroyed. So, the
address of prev/next is useful to find the destroyer.

Signed-off-by: Masayoshi Mizuma <[email protected]>
---
lib/list_debug.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/list_debug.c b/lib/list_debug.c
index 3859bf6..a9cbcdb 100644
--- a/lib/list_debug.c
+++ b/lib/list_debug.c
@@ -55,11 +55,11 @@ void __list_del_entry(struct list_head *entry)
"list_del corruption, %p->prev is LIST_POISON2 (%p)\n",
entry, LIST_POISON2) ||
WARN(prev->next != entry,
- "list_del corruption. prev->next should be %p, "
- "but was %p\n", entry, prev->next) ||
+ "list_del corruption. prev->next should be %p, but was %p (prev=%p)\n",
+ entry, prev->next, prev) ||
WARN(next->prev != entry,
- "list_del corruption. next->prev should be %p, "
- "but was %p\n", entry, next->prev))
+ "list_del corruption. next->prev should be %p, but was %p (next=%p)\n",
+ entry, next->prev, next))
return;

__list_del(prev, next);
--
1.8.3.1