ARM: 6252/1: Use SIGBUS for unaligned access instead of SIGILL
POSIX specify to use signal SIGBUS with code BUS_ADRALN for invalid address alignment. Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
c1ba6ba3dd
commit
3dc91aff9c
|
@ -924,8 +924,8 @@ static int __init alignment_init(void)
|
|||
ai_usermode = UM_FIXUP;
|
||||
}
|
||||
|
||||
hook_fault_code(1, do_alignment, SIGILL, "alignment exception");
|
||||
hook_fault_code(3, do_alignment, SIGILL, "alignment exception");
|
||||
hook_fault_code(1, do_alignment, SIGBUS, "alignment exception");
|
||||
hook_fault_code(3, do_alignment, SIGBUS, "alignment exception");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -463,9 +463,9 @@ static struct fsr_info {
|
|||
* defines these to be "precise" aborts.
|
||||
*/
|
||||
{ do_bad, SIGSEGV, 0, "vector exception" },
|
||||
{ do_bad, SIGILL, BUS_ADRALN, "alignment exception" },
|
||||
{ do_bad, SIGBUS, BUS_ADRALN, "alignment exception" },
|
||||
{ do_bad, SIGKILL, 0, "terminal exception" },
|
||||
{ do_bad, SIGILL, BUS_ADRALN, "alignment exception" },
|
||||
{ do_bad, SIGBUS, BUS_ADRALN, "alignment exception" },
|
||||
/* Do we need runtime check ? */
|
||||
#if __LINUX_ARM_ARCH__ < 6
|
||||
{ do_bad, SIGBUS, 0, "external abort on linefetch" },
|
||||
|
|
Loading…
Reference in New Issue