mirror of
https://github.com/torvalds/linux.git
synced 2024-12-13 14:43:03 +00:00
powerpc/hw_brk: Fix setting of length for exact mode breakpoints
The smallest match region for both the DABR and DAWR is 8 bytes, so the kernel needs to filter matches when users want to look at regions smaller than this. Currently we set the length of PPC_BREAKPOINT_MODE_EXACT breakpoints to 8. This is wrong as in exact mode we should only match on 1 address, hence the length should be 1. This ensures that the kernel will filter out any exact mode hardware breakpoint matches on any addresses other than the requested one. Signed-off-by: Michael Neuling <mikey@neuling.org> Reported-by: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com> Cc: stable@vger.kernel.org Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
e7f345a2a3
commit
b0b0aa9c7f
@ -1449,7 +1449,9 @@ static long ppc_set_hwdebug(struct task_struct *child,
|
||||
*/
|
||||
if (bp_info->addr_mode == PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE) {
|
||||
len = bp_info->addr2 - bp_info->addr;
|
||||
} else if (bp_info->addr_mode != PPC_BREAKPOINT_MODE_EXACT) {
|
||||
} else if (bp_info->addr_mode == PPC_BREAKPOINT_MODE_EXACT)
|
||||
len = 1;
|
||||
else {
|
||||
ptrace_put_breakpoints(child);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user