kgdb, x86, arm, mips, powerpc: ignore user space single stepping
authorJason Wessel <jason.wessel@windriver.com>
Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)
committerJason Wessel <jason.wessel@windriver.com>
Fri, 26 Sep 2008 15:36:41 +0000 (10:36 -0500)
commitd7161a65341556bacb5e6654e133803f46f51063
treeb2933dc2ce1435956c193c37fd53a3d5530fe9d7
parent18d6522b86d21a04c8ac1ea79747e2e434a956d9
kgdb, x86, arm, mips, powerpc: ignore user space single stepping

On the x86 arch, user space single step exceptions should be ignored
if they occur in the kernel space, such as ptrace stepping through a
system call.

First check if it is kgdb that is executing a single step, then ensure
it is not an accidental traversal into the user space, while in kgdb,
any other time the TIF_SINGLESTEP is set, kgdb should ignore the
exception.

On x86, arm, mips and powerpc, the kgdb_contthread usage was
inconsistent with the way single stepping is implemented in the kgdb
core.  The arch specific stub should always set the
kgdb_cpu_doing_single_step correctly if it is single stepping.  This
allows kgdb to correctly process an instruction steps if ptrace
happens to be requesting an instruction step over a system call.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
arch/arm/kernel/kgdb.c
arch/mips/kernel/kgdb.c
arch/powerpc/kernel/kgdb.c
arch/x86/kernel/kgdb.c
kernel/kgdb.c