Stack trace using ftrace
jungseoklee85 at gmail.com
Tue Jul 7 06:49:55 PDT 2015
On Jul 7, 2015, at 4:59 PM, AKASHI Takahiro wrote:
> On 07/06/2015 09:04 PM, Jungseok Lee wrote:
>> On Jul 6, 2015, at 4:56 PM, AKASHI Takahiro wrote:
>>> Thank you for your bug report.
>> Thanks for taking care about this topic.
>>> This issue comes from the fact that ftrace, more specifically check_stack(),
>>> goes over immediate values in the stack with each function's (bl instruction's) PC
>>> which is returned by save_stack_trace() while save_stack_trace(), or unwind_frame(),
>>> decrements the saved value of PC in the stack by 4. So mismatching can happen.
>>> We can easily fix the problem by reverting the following commit:
>>>> commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63
>>>> Author: Olof Johansson <olof at lixom.net>
>>>> Date: Fri Feb 14 19:35:15 2014 +0000
>>>> ARM64: unwind: Fix PC calculation
>>> But it will also resurrect the original problem.
>> IMHO, a current problem cannot be resolved by reverting the commit.
>> Please refer to the following data. The result looks much better than before,
>> but some entries still have 0 sizes.
> Sorry for that.
> There seem to be several problems.
> The value in 'size' field should go one line up,
> for example, 32 for arch_timer_handler and 64 for
> I'm now looking into those issues.
I can support a test with dragonboard410c. Please let me know if necessary.
More information about the linux-arm-kernel