On Fri, 2018-01-26 at 21:08 +0100, Borislav Petkov wrote: > Make it all a function which does the WRMSR instead of having a hairy > inline asm. ... > + alternative_input("", > +  "call __ibp_barrier", > +  X86_FEATURE_IBPB, > +  ASM_NO_INPUT_CLOBBER("eax", "ecx", "edx", "memory")); >  } Dammit. I know the best time to comment is *before* I add my own sign- off to it and before Linus has merged it but... I think this is broken. If you're calling a C function then you have to mark *all* the call- clobbered registers as, well, clobbered. If you really really really want to *call* something out of line, then it would need to be implemented in asm.