ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses
authorDouglas Anderson <dianders@chromium.org>
Thu, 6 Aug 2020 22:24:35 +0000 (23:24 +0100)
committerCosmin Tanislav <demonsingur@gmail.com>
Thu, 16 May 2024 07:58:25 +0000 (10:58 +0300)
commit0a029c22ddcc91239be884b2425039467454a412
tree33ead4b9ec219ed48b6b3edd79d7e8df4700f53e
parentc23500d5357bcc7be9ddda93d2ee1ba35ac47b31
ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses

[ Upstream commit 22c9e58299e5f18274788ce54c03d4fb761e3c5d ]

This is commit fdfeff0f9e3d ("arm64: hw_breakpoint: Handle inexact
watchpoint addresses") but ported to arm32, which has the same
problem.

This problem was found by Android CTS tests, notably the
"watchpoint_imprecise" test [1].  I tested locally against a copycat
(simplified) version of the test though.

[1] https://android.googlesource.com/platform/bionic/+/master/tests/sys_ptrace_test.cpp

Link: https://lkml.kernel.org/r/20191019111216.1.I82eae759ca6dc28a245b043f485ca490e3015321@changeid
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/kernel/hw_breakpoint.c