linux/arch/mn10300
David Howells db1c9dfa64 MN10300: die_if_no_fixup() shouldn't use get_user() as it doesn't call set_fs()
die_if_no_fixup() shouldn't use get_user() as it doesn't call set_fs() to
indicate that it wants to probe a kernel address.  Instead it should use
probe_kernel_read().

This fixes the problem of gdb seeing SIGILL rather than SIGTRAP when hitting
the KGDB special breakpoint upon SysRq+g being seen.  The problem was that
die_if_no_fixup() was failing to read the opcode of the instruction that caused
the exception, and thus not fixing up the exception.

This caused gdb to get a S04 response to the $? request in its remote protocol
rather than S05 - which would then cause it to continue with $C04 rather than
$c in an attempt to pass the signal onto the inferior process.  The kernel,
however, does not support $Cnn, and so objects by returning an E22 response,
indicating an error.  gdb does not expect this and prints:

	warning: Remote failure reply: E22

and then returns to the gdb command prompt unable to continue.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-06-07 19:03:52 -07:00
..
boot MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
configs cgroup: remove the ns_cgroup 2011-05-26 17:12:34 -07:00
include/asm ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
kernel MN10300: die_if_no_fixup() shouldn't use get_user() as it doesn't call set_fs() 2011-06-07 19:03:52 -07:00
lib MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
mm MN10300: Fix one of the kernel debugger cacheflush variants 2011-06-07 19:03:52 -07:00
oprofile MN10300: Kill MN10300's own profiling Kconfig 2009-04-09 10:53:16 -07:00
proc-mn2ws0050 MN10300: Create general kernel debugger cache flushing 2011-03-18 16:54:30 +00:00
proc-mn103e010 MN10300: Create general kernel debugger cache flushing 2011-03-18 16:54:30 +00:00
unit-asb2303 MN10300: Generic time support 2010-10-27 17:28:57 +01:00
unit-asb2305 MN10300: Generic time support 2010-10-27 17:28:57 +01:00
unit-asb2364 mn10300: Convert genirq namespace 2011-03-29 14:48:18 +02:00
Kconfig arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
Kconfig.debug MN10300: Deprecate gdbstub 2011-03-18 16:54:32 +00:00
Makefile MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00