On 07/23/2018 05:25 PM, Joel Fernandes wrote: > From: "Joel Fernandes (Google)" <j...@joelfernandes.org> > > Recently we debugged an issue where debugobject tracking was telling > us of an annotation issue. Turns out the issue was due to the object in > concern being on a different stack which was due to another issue. > > Discussing with tglx, he suggested printing the pointers and the > location of the stack for the currently running task. This helped find > the object was on the wrong stack. I turned the resulting patch into > something upstreamable, so that the error message is more informative > and can help in debugging for similar issues in the future. > > Signed-off-by: Joel Fernandes (Google) <j...@joelfernandes.org> > --- > lib/debugobjects.c | 7 +++++-- > 1 file 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) > > 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); > } >
Acked-by: Waiman Long <long...@redhat.com>