diff options
author | SUGIOKA Toshinobu <sugioka@itonet.co.jp> | 2009-01-20 19:42:10 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-01-21 04:35:55 -0500 |
commit | 2afb447f33c29cb000a494396559f8005d3e33c1 (patch) | |
tree | 71365a7c84c6493f602cae0e6f249f26c26ae4ea /lib | |
parent | eb6434d9e79a72d35d68811efd68fe8bab8f5baf (diff) |
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>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions