On Thu, Nov 22, 2018 at 8:56 AM Linus Torvalds <torva...@linux-foundation.org> wrote: > > On Thu, Nov 22, 2018 at 2:32 AM Ingo Molnar <mi...@kernel.org> wrote: > > * Linus Torvalds <torva...@linux-foundation.org> wrote: > > > > > > Random patch (with my "asm goto" hack included) attached, in case > > > people want to play with it. > > > > Doesn't even look all that hacky to me. Any hack in it that I didn't > > notice? :-) > > The code to use asm goto sadly doesn't have any fallback at all for > the "no asm goto available". > > I guess we're getting close to "we require asm goto support", but I > don't think we're there yet.
commit e501ce957a786ecd076ea0cfb10b114e6e4d0f40 Author: Peter Zijlstra <pet...@infradead.org> Date: Wed Jan 17 11:42:07 2018 +0100 x86: Force asm-goto We want to start using asm-goto to guarantee the absence of dynamic branches (and thus speculation). A primary prerequisite for this is of course that the compiler supports asm-goto. This effecively lifts the minimum GCC version to build an x86 kernel to gcc-4.5. This is basically the only good outcome from the speculation crap as far as I'm concerned :) So I think your patch is viable. Also, with that patch applied, put_user_ex() should become worse than worthless -- if gcc is any good, plain old: if (unsafe_put_user(...) != 0) goto err; if (unsafe_put_user(...) != 0) goto err; etc. will generate *better* code than a series of put_user_ex() calls.