powerpc/hw_breakpoints: Fix incorrect pointer access
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Fri, 6 Jul 2012 01:30:58 +0000 (01:30 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 11 Jul 2012 04:20:20 +0000 (14:20 +1000)
If arch_validate_hwbkpt_settings() fails, bp->ctx won't be valid and the
kernel panics. Add a check to fix this.

Reported-by: Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/hw_breakpoint.c

index 2bc0584be81c1441b5519fae9c82e4fc2ed08bff..f3a82dde61dbfe8b469a63d4874f2de53bf1b476 100644 (file)
@@ -111,7 +111,7 @@ void arch_unregister_hw_breakpoint(struct perf_event *bp)
         * and the single_step_dabr_instruction(), then cleanup the breakpoint
         * restoration variables to prevent dangling pointers.
         */
-       if (bp->ctx->task)
+       if (bp->ctx && bp->ctx->task)
                bp->ctx->task->thread.last_hit_ubp = NULL;
 }