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 <m.miz...@jp.fujitsu.com> --- 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