xref: /linux/arch/arm64/mm/extable.c (revision 1d18c47c735e8adfe531fc41fae31e98f86b68fe)
1*1d18c47cSCatalin Marinas /*
2*1d18c47cSCatalin Marinas  * Based on arch/arm/mm/extable.c
3*1d18c47cSCatalin Marinas  */
4*1d18c47cSCatalin Marinas 
5*1d18c47cSCatalin Marinas #include <linux/module.h>
6*1d18c47cSCatalin Marinas #include <linux/uaccess.h>
7*1d18c47cSCatalin Marinas 
8*1d18c47cSCatalin Marinas int fixup_exception(struct pt_regs *regs)
9*1d18c47cSCatalin Marinas {
10*1d18c47cSCatalin Marinas 	const struct exception_table_entry *fixup;
11*1d18c47cSCatalin Marinas 
12*1d18c47cSCatalin Marinas 	fixup = search_exception_tables(instruction_pointer(regs));
13*1d18c47cSCatalin Marinas 	if (fixup)
14*1d18c47cSCatalin Marinas 		regs->pc = fixup->fixup;
15*1d18c47cSCatalin Marinas 
16*1d18c47cSCatalin Marinas 	return fixup != NULL;
17*1d18c47cSCatalin Marinas }
18