]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
perf/amd/ibs: Use interrupt regs ip for stack unwinding
authorRavi Bangoria <ravi.bangoria@amd.com>
Fri, 29 Apr 2022 05:14:41 +0000 (10:44 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 14:59:22 +0000 (16:59 +0200)
commitd9e36c56c0ed8da74775c3a12a350d50c507ca3e
tree3287b0568bb306857196980cf29f89ea6be93e72
parentfc114ab6abae032b80ca1eedcef2a753955f317f
perf/amd/ibs: Use interrupt regs ip for stack unwinding

[ Upstream commit 3d47083b9ff46863e8374ad3bb5edb5e464c75f8 ]

IbsOpRip is recorded when IBS interrupt is triggered. But there is
a skid from the time IBS interrupt gets triggered to the time the
interrupt is presented to the core. Meanwhile processor would have
moved ahead and thus IbsOpRip will be inconsistent with rsp and rbp
recorded as part of the interrupt regs. This causes issues while
unwinding stack using the ORC unwinder as it needs consistent rip,
rsp and rbp. Fix this by using rip from interrupt regs instead of
IbsOpRip for stack unwinding.

Fixes: ee9f8fce99640 ("x86/unwind: Add the ORC unwinder")
Reported-by: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru>
Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ravi Bangoria <ravi.bangoria@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220429051441.14251-1-ravi.bangoria@amd.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/x86/events/amd/ibs.c