History

debugobjects: Make stack check warning more informative

While debugging an issue debugobject tracking warned about an annotation issue of an object on stack. It turned out that the issue was due to the object in concern being on a different stack which was due to another issue. Thomas suggested to print the pointers and the location of the stack for the currently running task. This helped to figure out that the object was on the wrong stack. As this is general useful information for debugging similar issues, make the error message more informative by printing the pointers. [ tglx: Massaged changelog ]

Joel Fernandes (Google) committed 8 years ago

Commit fc91a3c1 parent acb18721 file · +5 −2Browse files

Showing the changes to lib/debugobjects.c (1 of 1 file). Show all

Unified · Split

lib/debugobjects.c+5−2
@@ -360,9 +360,12 @@ static void debug_object_is_on_stack(void *addr, int onstack) · 359 unmodified lines
360360
361361 limit++;
362362 if (is_on_stack)
363− pr_warn("object is on stack, but not annotated\n");
363+ pr_warn("object %p is on stack %p, but NOT annotated.\n", addr,
364+ task_stack_page(current));
364365 else
365− pr_warn("object is not on stack, but annotated\n");
366+ pr_warn("object %p is NOT on stack %p, but annotated.\n", addr,
367+ task_stack_page(current));
368+
366369 WARN_ON(1);
367370 }
368371