1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include <linux/extable.h> #include <linux/uaccess.h> int fixup_exception(struct pt_regs *regs) { const struct exception_table_entry *fixup; unsigned long pc = instruction_pointer(regs); fixup = search_exception_tables(pc); if (fixup) regs->ctx.CurrPC = fixup->fixup; return fixup != NULL; }