Skip to content

Commit

Permalink
debugobjects: Make stack check warning more informative
Browse files Browse the repository at this point in the history
commit fc91a3c 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>
  • Loading branch information
joelagnel authored and gregkh committed Sep 15, 2018
1 parent 977f362 commit 9fdac01
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions lib/debugobjects.c
Original file line number Diff line number Diff line change
Expand Up @@ -360,9 +360,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);
}

Expand Down

0 comments on commit 9fdac01

Please sign in to comment.