Hi Christophe,
@@ -101,14 +129,20 @@ static bool is_ptrace_bp(struct perf_event *bp)
ÂÂ */
 void arch_unregister_hw_breakpoint(struct perf_event *bp)
 {
+ÂÂÂ int i;
+
This declaration should be in the block using it.
ÂÂÂÂÂ /*
ÂÂÂÂÂÂ * If the breakpoint is unregistered between a hw_breakpoint_handler()
ÂÂÂÂÂÂ * and the single_step_dabr_instruction(), then cleanup the breakpoint
ÂÂÂÂÂÂ * restoration variables to prevent dangling pointers.
ÂÂÂÂÂÂ * FIXME, this should not be using bp->ctx at all! Sayeth peterz.
ÂÂÂÂÂÂ */
-ÂÂÂ if (bp->ctx && bp->ctx->task && bp->ctx->task != ((void *)-1L))
-ÂÂÂÂÂÂÂ bp->ctx->task->thread.last_hit_ubp = NULL;
+ÂÂÂ if (bp->ctx && bp->ctx->task && bp->ctx->task != ((void *)-1L)) {
Add declaration of 'int i' here.
How will that help? Keeping declaration at the start of function is also
common practice and I don't see any recommendation to move them inside
conditional block.