1 /* 2 * linux/arch/arm/mm/extable.c 3 */ 4 #include <linux/module.h> 5 #include <linux/uaccess.h> 6 7 int fixup_exception(struct pt_regs *regs) 8 { 9 const struct exception_table_entry *fixup; 10 11 fixup = search_exception_tables(instruction_pointer(regs)); 12 if (fixup) { 13 regs->ARM_pc = fixup->fixup; 14 #ifdef CONFIG_THUMB2_KERNEL 15 /* Clear the IT state to avoid nasty surprises in the fixup */ 16 regs->ARM_cpsr &= ~PSR_IT_MASK; 17 #endif 18 } 19 20 return fixup != NULL; 21 } 22