aboutsummaryrefslogtreecommitdiffstats
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorJoel Fernandes (Google) <joel@joelfernandes.org>2018-07-23 17:25:31 -0400
committerThomas Gleixner <tglx@linutronix.de>2018-07-30 15:36:37 -0400
commitfc91a3c4c27acdca0bc13af6fbb68c35cfd519f2 (patch)
tree09d795cb9edc99c1b81a427ec8310046f1d0268d /lib/debugobjects.c
parentacb1872577b346bd15ab3a3f8dff780d6cca4b70 (diff)
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 ] Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Waiman Long <longman@redhat.com> Acked-by: Yang Shi <yang.shi@linux.alibaba.com> Cc: kernel-team@android.com Cc: Arnd Bergmann <arnd@arndb.de> Cc: astrachan@google.com Link: https://lkml.kernel.org/r/20180723212531.202328-1-joel@joelfernandes.org
Diffstat (limited to 'lib/debugobjects.c')
-rw-r--r--lib/debugobjects.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 994be4805cec..24c1df0d7466 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -360,9 +360,12 @@ static void debug_object_is_on_stack(void *addr, int onstack)
360 360
361 limit++; 361 limit++;
362 if (is_on_stack) 362 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));
364 else 365 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
366 WARN_ON(1); 369 WARN_ON(1);
367} 370}
368 371