> Looks generally good. > > Reviewed-by: Andy Lutomirski 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‹§²æìr¸›zǧu©ž²Æ {­†éì¹»®&Þ–)îÆi¢žØ^n‡r¶‰šŽŠÝ¢j$½§$¢¸¢¹¨­è§~Š'.)îÄÃ,yèm¶Ÿÿà %Š{±šj+ƒðèž×¦j)Z†·Ÿ