linux/arch/sh/kernel
SUGIOKA Toshinobu 2afb447f33 sh: fix unaligned and nonexistent address handling
unaligned and nonexistent address causes wrong exception
handling in traps_32.c(handle_unaligned_access).

'handle_unalinged_ins' should return -EFAULT if address error
is fixed up with kernel exception table, otherwise
'handle_unaligned_access' increases already fixed program counter
and then crash.

for example
   ioctl(fd, TCGETA, (struct termio *)-1)
never return and stay in TASK_UNINTERRUPTIBLE state forever
in my kernel.

Signed-off-by: SUGIOKA Toshinobu <sugioka@itonet.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-01-21 18:35:55 +09:00
..
cpu sh: export the sh7343 JPU to user space 2009-01-21 17:44:26 +09:00
timers Merge branch 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-01-02 11:44:09 -08:00
vsyscall [S390] arch_setup_additional_pages arguments 2008-12-25 13:38:54 +01:00
.gitignore sh: Add an arch/sh/kernel/.gitignore 2008-07-29 08:29:32 +09:00
asm-offsets.c sh: use kbuild.h instead of defining macros in asm-offsets.c 2008-04-29 08:06:30 -07:00
cpufreq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-10-13 09:49:04 -07:00
crash_dump.c kdump: make elfcorehdr_addr independent of CONFIG_PROC_VMCORE 2008-10-20 08:52:39 -07:00
debugtraps.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
disassemble.c sh: Add a simple code dumper for SUPERH32 show_regs(). 2008-12-22 18:43:49 +09:00
early_printk.c serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. 2008-11-13 17:46:06 +09:00
entry-common.S sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
ftrace.c sh: Provide ftrace_make_call()/ftrace_make_nop(). 2008-12-22 18:44:02 +09:00
gpio.c sh: improve pinmux support for single direction pins 2008-10-22 18:34:16 +09:00
head_32.S sh: Enable skipping of bss on debug platforms for sh32 also. 2008-12-22 18:44:47 +09:00
head_64.S sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
idle.c sh: Split out the idle loop for reuse between _32/_64 variants. 2008-12-22 18:43:50 +09:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
io_generic.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
io_trapped.c sh: Fix up section mismatches. 2008-03-06 12:43:38 +09:00
io.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
irq.c sh: migrate to arch/sh/include/ 2008-07-29 08:09:44 +09:00
kgdb.c sh: Generic kgdb stub support. 2008-12-22 18:44:04 +09:00
kprobes.c sh: kprobes: kretprobe_trampoline needs to be global. 2008-09-09 08:13:28 +09:00
machine_kexec.c sh: fix kexec entry point for crash kernels 2008-08-28 14:53:03 +09:00
machvec.c sh: More I/O routine overhauling. 2008-10-04 05:25:52 +09:00
Makefile sh: Have 32-bit use arch/sh/kernel/Makefile_32. 2008-01-28 13:18:41 +09:00
Makefile_32 sh: Conditionalize the code dumper on CONFIG_DUMP_CODE. 2008-12-22 18:44:47 +09:00
Makefile_64 sh: Kill off cf-enabler with extreme prejudice. 2008-12-22 18:44:46 +09:00
module.c sh: module_alloc() should be using vmalloc_exec(). 2008-08-04 13:34:29 +09:00
process_32.c sh: Simplify kernel_thread_helper() for sh32. 2008-12-22 18:44:44 +09:00
process_64.c sh: Drop the BKL from sys_execve() on SH-5. 2009-01-21 17:42:55 +09:00
ptrace_32.c sh: Add FPU registers to regset interface. 2008-09-21 19:04:55 +09:00
ptrace_64.c sh: Provide linux/regset.h interface for SH-5. 2008-12-22 18:44:04 +09:00
relocate_kernel.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
setup.c sh: Add support for SH7201 CPU subtype. 2008-12-22 18:43:50 +09:00
sh_bios.c sh: Kill off sh_bios_in_gdb_mode(). 2008-12-22 18:44:44 +09:00
sh_ksyms_32.c sh: More movmem alias symbol exports for older compilers. 2008-12-22 18:43:49 +09:00
sh_ksyms_64.c sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking. 2008-12-22 18:44:05 +09:00
signal_32.c sh: Provide asm/syscall.h for SH-5. 2008-12-22 18:44:04 +09:00
signal_64.c sh: Provide asm/syscall.h for SH-5. 2008-12-22 18:44:04 +09:00
smp.c cpumask: convert struct clock_event_device to cpumask pointers. 2008-12-13 21:20:26 +10:30
stacktrace.c sh: latencytop support. 2008-09-13 01:44:03 +09:00
sys_sh32.c [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
sys_sh64.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
sys_sh.c sh: Move arch_get_unmapped_area() in to arch/sh/mm/mmap.c. 2008-12-22 18:42:49 +09:00
syscalls_32.S [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
syscalls_64.S [CVE-2009-0029] Rename old_readdir to sys_old_readdir 2009-01-14 14:15:15 +01:00
time_32.c sh: Kill off mv_heartbeat() from the machvec. 2008-12-22 18:44:44 +09:00
time_64.c sh: Kill off mv_heartbeat() from the machvec. 2008-12-22 18:44:44 +09:00
topology.c sh: replace remaining __FUNCTION__ occurrences 2008-03-06 11:18:22 +09:00
traps_32.c sh: fix unaligned and nonexistent address handling 2009-01-21 18:35:55 +09:00
traps_64.c sh64: add missing #include <asm/fpu.h>'s 2008-04-16 02:00:09 +09:00
traps.c sh: Make is_valid_bugaddr() more intelligent on nommu. 2008-05-19 19:32:07 +09:00
vmlinux_32.lds.S move BUG_TABLE into RODATA 2008-05-25 07:06:08 +02:00
vmlinux_64.lds.S move BUG_TABLE into RODATA 2008-05-25 07:06:08 +02:00
vmlinux.lds.S sh: Split out linker script to _32 and _64 variants. 2008-01-28 13:18:45 +09:00