summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoel Fernandes (Google) <joel@joelfernandes.org>2018-07-23 14:25:31 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-09-15 09:43:01 +0200
commit414bd73f37bd3306506ad53f94be6dbdef327a01 (patch)
tree2f988d499f82944e275bb3afcac7047271c637aa /lib
parent33d2811df75e94d34a098907ca9cfb138b85cd31 (diff)
downloadlinux-stable-414bd73f37bd3306506ad53f94be6dbdef327a01.tar.gz
linux-stable-414bd73f37bd3306506ad53f94be6dbdef327a01.tar.bz2
linux-stable-414bd73f37bd3306506ad53f94be6dbdef327a01.zip
debugobjects: Make stack check warning more informative
commit fc91a3c4c27acdca0bc13af6fbb68c35cfd519f2 upstream. 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 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/debugobjects.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
index 056052dc8e91..88580e8ee39e 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
@@ -294,9 +294,12 @@ static void debug_object_is_on_stack(void *addr, int onstack)
limit++;
if (is_on_stack)
- pr_warn("object is on stack, but not annotated\n");
+ pr_warn("object %p is on stack %p, but NOT annotated.\n", addr,
+ task_stack_page(current));
else
- pr_warn("object is not on stack, but annotated\n");
+ pr_warn("object %p is NOT on stack %p, but annotated.\n", addr,
+ task_stack_page(current));
+
WARN_ON(1);
}