arm64: kgdb_step_brk_fn: ignore other's exception 44/149944/1
authorPratyush Anand <panand@redhat.com>
Wed, 2 Nov 2016 09:10:42 +0000 (14:40 +0530)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 13 Sep 2017 16:00:58 +0000 (18:00 +0200)
ARM64 step exception does not have any syndrome information. So, it is
responsibility of exception handler to take care that they handle it
only if exception was raised for them.

Since kgdb_step_brk_fn() always returns 0, therefore we might have problem
when we will have other step handler registered as well.

This patch fixes kgdb_step_brk_fn() to return error in case of step handler
was not meant for kgdb.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
[ Mainline commit b66c987 ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: I0feebaa2a0a6fd21df13e4bc4ef7409cefb7cd34

arch/arm64/kernel/kgdb.c

index e017a94..d217c9e 100644 (file)
@@ -247,6 +247,9 @@ NOKPROBE_SYMBOL(kgdb_compiled_brk_fn);
 
 static int kgdb_step_brk_fn(struct pt_regs *regs, unsigned int esr)
 {
+       if (!kgdb_single_step)
+               return DBG_HOOK_ERROR;
+
        kgdb_handle_exception(1, SIGTRAP, 0, regs);
        return 0;
 }