From 69bd89875686c9eb05eecedc7865347bb496c721 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Mon, 23 Nov 2009 15:42:33 +0100 Subject: [PATCH] --- yaml --- r: 169755 b: refs/heads/master c: fdf6bc95229821e3d9405eba28925b76e92b74d0 h: refs/heads/master i: 169753: e1222453bc4aac3f5a74cf6927b6b0145516ad54 169751: 0794a8175754c9b60f2762ab02e9a35ff8562a59 v: v3 --- [refs] | 2 +- trunk/kernel/hw_breakpoint.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3dadae0390d0..59e49a8fb6ee 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e6db4876575f3fdd5b1df2cbff826df95ab9af6a +refs/heads/master: fdf6bc95229821e3d9405eba28925b76e92b74d0 diff --git a/trunk/kernel/hw_breakpoint.c b/trunk/kernel/hw_breakpoint.c index c16662268d75..06d372fc026d 100644 --- a/trunk/kernel/hw_breakpoint.c +++ b/trunk/kernel/hw_breakpoint.c @@ -267,7 +267,16 @@ int __register_perf_hw_breakpoint(struct perf_event *bp) if (ret) return ret; - if (!bp->attr.disabled) + /* + * Ptrace breakpoints can be temporary perf events only + * meant to reserve a slot. In this case, it is created disabled and + * we don't want to check the params right now (as we put a null addr) + * But perf tools create events as disabled and we want to check + * the params for them. + * This is a quick hack that will be removed soon, once we remove + * the tmp breakpoints from ptrace + */ + if (!bp->attr.disabled || bp->callback == perf_bp_event) ret = arch_validate_hwbkpt_settings(bp, bp->ctx->task); return ret;