Commit 8c516543 authored by Scott Wood's avatar Scott Wood Committed by Christoph Hellwig

dma-debug: only skip one stackframe entry

With skip set to 1, I get a traceback like this:

[  106.867637] DMA-API: Mapped at:
[  106.870784]  afu_dma_map_region+0x2cd/0x4f0 [dfl_afu]
[  106.875839]  afu_ioctl+0x258/0x380 [dfl_afu]
[  106.880108]  do_vfs_ioctl+0xa9/0x720
[  106.883688]  ksys_ioctl+0x60/0x90
[  106.887007]  __x64_sys_ioctl+0x16/0x20

With the previous value of 2, afu_dma_map_region was being omitted.  I
suspect that the code paths have simply changed since the value of 2 was
chosen a decade ago, but it's also possible that it varies based on which
mapping function was used, compiler inlining choices, etc.  In any case,
it's best to err on the side of skipping less.
Signed-off-by: default avatarScott Wood <swood@redhat.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 2a29e9f6
...@@ -706,7 +706,7 @@ static struct dma_debug_entry *dma_entry_alloc(void) ...@@ -706,7 +706,7 @@ static struct dma_debug_entry *dma_entry_alloc(void)
#ifdef CONFIG_STACKTRACE #ifdef CONFIG_STACKTRACE
entry->stacktrace.max_entries = DMA_DEBUG_STACKTRACE_ENTRIES; entry->stacktrace.max_entries = DMA_DEBUG_STACKTRACE_ENTRIES;
entry->stacktrace.entries = entry->st_entries; entry->stacktrace.entries = entry->st_entries;
entry->stacktrace.skip = 2; entry->stacktrace.skip = 1;
save_stack_trace(&entry->stacktrace); save_stack_trace(&entry->stacktrace);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment