linux/arch/mn10300/kernel
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
..
asm-offsets.c MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
cevt-mn10300.c MN10300: Select GENERIC_HARDIRQS_NO_DEPRECATED 2011-03-18 16:52:53 +00:00
csrc-mn10300.c MN10300: Use clocksource_register_hz() 2011-03-18 16:52:50 +00:00
entry.S ns: Wire up the setns system call 2011-05-28 10:48:39 -07:00
fpu-low.S MN10300: Make the FPU operate in non-lazy mode under SMP 2010-10-27 17:28:52 +01:00
fpu-nofpu-low.S MN10300: Make the FPU operate in non-lazy mode under SMP 2010-10-27 17:28:52 +01:00
fpu-nofpu.c MN10300: Make the FPU operate in non-lazy mode under SMP 2010-10-27 17:28:52 +01:00
fpu.c MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
gdb-io-serial-low.S MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
gdb-io-serial.c MN10300: Fix interrupt mask alteration function call name in gdbstub 2010-12-07 11:29:14 -08:00
gdb-io-ttysm-low.S Separate out the proc- and unit-specific header directories from the general 2009-04-10 14:33:48 +01:00
gdb-io-ttysm.c MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
gdb-low.S mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
gdb-stub.c MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
head.S MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
internal.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
io.c mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
irq.c mn10300: convert old cpumask API into new one 2011-05-25 08:39:39 -07:00
kernel_execve.S mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
kgdb.c MN10300: Emulate single stepping in KGDB on MN10300 2011-03-18 16:54:32 +00:00
kprobes.c MN10300: Allow some cacheflushes to be avoided if cache snooping is available 2010-10-27 17:28:46 +01:00
kthread.S mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
Makefile MN10300: Use KGDB 2011-03-18 16:54:31 +00:00
mn10300_ksyms.c mn10300: provide __ucmpdi2() for MN10300 2008-07-04 10:40:07 -07:00
mn10300-debug.c mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
mn10300-serial-low.S MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
mn10300-serial.c mn10300: Convert genirq namespace 2011-03-29 14:48:18 +02:00
mn10300-serial.h mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
mn10300-watchdog-low.S MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
mn10300-watchdog.c MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
module.c modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
process.c MN10300: Generalise kernel debugger kernel halt, reboot or power off hook 2011-03-18 16:54:31 +00:00
profile-low.S mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
profile.c MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
ptrace.c ptrace: cleanup arch_ptrace() on mn10300 2010-10-27 18:03:11 -07:00
rtc.c set_rtc_mmss: show warning message only once 2011-01-13 08:03:07 -08:00
setup.c MN10300: Change "Matsushita" to "Panasonic". 2010-10-27 17:29:00 +01:00
sigframe.h mn10300: add the MN10300/AM33 architecture to the kernel 2008-02-08 09:22:30 -08:00
signal.c MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
smp-low.S MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
smp.c mn10300: convert old cpumask API into new one 2011-05-25 08:39:39 -07:00
switch_to.S MN10300: Emulate single stepping in KGDB on MN10300 2011-03-18 16:54:32 +00:00
sys_mn10300.c Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
time.c MN10300: Use clockevents_calc_mult_shift() 2011-03-18 16:52:50 +00:00
traps.c 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
vmlinux.lds.S percpu: Always align percpu output section to PAGE_SIZE 2011-03-24 18:50:09 +01:00