Re: [PATCH v3 13/16] powerpc/watchpoint: Prepare handler to handle more than one watcnhpoint

From: Ravi Bangoria
Date: Thu Apr 23 2020 - 23:43:11 EST


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.

Thanks,
Ravi