diff options
author | Matt Helsley <[email protected]> | 2010-09-13 13:01:18 -0700 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2010-09-15 10:43:59 +0200 |
commit | d958077d007d98125766d11e82da2fd6497b91d6 (patch) | |
tree | c71106f6308a16bd50fc3f58338025c7848e5ec1 | |
parent | 64a48d90149bb7007275fac13eaa4cb8d8ce12ea (diff) |
hw breakpoints: Fix pid namespace bug
Hardware breakpoints can't be registered within pid namespaces
because tsk->pid is passed rather than the pid in the current
namespace.
(See https://bugzilla.kernel.org/show_bug.cgi?id=17281 )
This is a quick fix demonstrating the problem but is not the
best method of solving the problem since passing pids internally
is not the best way to avoid pid namespace bugs. Subsequent patches
will show a better solution.
Much thanks to Frederic Weisbecker <[email protected]> for doing the
bulk of the work finding this bug.
Signed-off-by: Matt Helsley <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Cc: Robin Green <[email protected]>
Cc: Prasad <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: Will Deacon <[email protected]>
Cc: Mahesh Salgaonkar <[email protected]>
LKML-Reference: <f63454af09fb1915717251570423eb9ddd338340.1284407762.git.matthltc@us.ibm.com>
Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r-- | kernel/hw_breakpoint.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index 3b2aaffb65f0..6122f02cfedf 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c @@ -433,7 +433,8 @@ register_user_hw_breakpoint(struct perf_event_attr *attr, perf_overflow_handler_t triggered, struct task_struct *tsk) { - return perf_event_create_kernel_counter(attr, -1, tsk->pid, triggered); + return perf_event_create_kernel_counter(attr, -1, task_pid_vnr(tsk), + triggered); } EXPORT_SYMBOL_GPL(register_user_hw_breakpoint); |