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