]> 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)
commita1350d7c9de0200c6f9a3bf77b8ca4927f75faff
treef43bfc09b092f13626cf7ae1f674f9af589904c7
parente111b0c68bd032e4081c418a612dde296aa727f2
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