> Looks generally good. > > Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxx> You say that to part 1/3 ... what happens when you get to part 3/3 and you read my attempts at writing x86 assembly code? >> +#ifdef CONFIG_MCE_KERNEL_RECOVERY >> +int fixup_mcexception(struct pt_regs *regs) >> +{ >> + const struct exception_table_entry *fixup; >> + unsigned long new_ip; >> + >> + fixup = search_mcexception_tables(regs->ip); >> + if (fixup) { >> + new_ip = ex_fixup_addr(fixup); >> + >> + regs->ip = new_ip; > > You could very easily save a line of code here :) Two lines (the declaration of the variable can go away as well). Will include if we need a V4 when everyone else gets to commenting. -Tony ��.n������g����a����&ޖ)���)��h���&������梷�����Ǟ�m������)������^�����������v���O��zf������