Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dc91aff authored by Kirill A. Shutemov's avatar Kirill A. Shutemov Committed by Russell King
Browse files

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: default avatarKirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c1ba6ba3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
}
+2 −2
Original line number Diff line number Diff line
@@ -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"	   },