]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dtrace: incorrect aframes value and wrong logic messes up caller and stack
authorKris Van Hees <kris.van.hees@oracle.com>
Wed, 15 Mar 2017 16:52:01 +0000 (12:52 -0400)
committerKris Van Hees <kris.van.hees@oracle.com>
Wed, 15 Mar 2017 16:56:01 +0000 (12:56 -0400)
commit2f2c94431f032eb66796bac71f2512f92d451aaf
treeae91d59ca5731cf41424f60c683fb567a7d393dc
parentd030a5bc7f9dfa0bcba020c16d1bb380b48bda09
dtrace: incorrect aframes value and wrong logic messes up caller and stack

Due to a mistake in how we compensate for the potential ULONG_MAX
sentinel value being added to kernel stacks on x86_64 (by the
save_stack_trace() function), the caller was always reported as 0.

This in turn was hiding a problem with the aframes values that are
used to ensure we skip the right amount of frames when reporting a
stack, caller, and calculating the stackdepth.  Effectively, it tells
the stack walker how many frames were added to the stack due to DTrace
processing.

Orabug: 25727046
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
dtrace/dtrace_dif.c
dtrace/dtrace_isa.c
dtrace/dtrace_probe.c
dtrace/fbt_dev.c
dtrace/fbt_impl.h
dtrace/include/sparc64/dtrace/fbt_arch.h [new file with mode: 0644]
dtrace/include/x86_64/dtrace/fbt_arch.h [new file with mode: 0644]