]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 7496/1: hw_breakpoint: don't rely on dfsr to show watchpoint access type
authorWill Deacon <will.deacon@arm.com>
Thu, 16 Aug 2012 17:55:44 +0000 (18:55 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 25 Aug 2012 08:15:23 +0000 (09:15 +0100)
commit562505cb5399a049c195d451a2ad641031732c64
treef43bfc09b092f13626cf7ae1f674f9af589904c7
parentc650c5034bf563bba6106aa0063b20e448f42a93
ARM: 7496/1: hw_breakpoint: don't rely on dfsr to show watchpoint access type

From ARM debug architecture v7.1 onwards, a watchpoint exception causes
the DFAR to be updated with the faulting data address. However, DFSR.WnR
takes an UNKNOWN value and therefore cannot be used in general to
determine the access type that triggered the watchpoint.

This patch forbids watchpoints without an overflow handler from
specifying a specific access type (load/store). Those with overflow
handlers must be able to handle false positives potentially triggered by
a watchpoint of a different access type on the same address. For
SIGTRAP-based handlers (i.e. ptrace), this should have no impact.

Cc: <stable@vger.kernel.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/hw_breakpoint.c