On Tue, Jun 02, 2020 at 09:25:47PM +0200, Marco Elver wrote: > On Tue, 2 Jun 2020 at 21:19, Peter Zijlstra <pet...@infradead.org> wrote:
> > Currently x86 only, but I know other arch maintainers are planning to > > have a hard look at their code based on our findings. > > I've already spotted a bunch of 'noinstr' outside arch/x86 e.g. in > kernel/{locking,rcu}, and a bunch of these functions use atomic_*, all > of which are __always_inline. The noinstr uses outside arch/x86 would > break builds on all architecture with GCC <= 7 when using sanitizers. > At least that's what led me to conclude we need this for all > architectures. True; but !x86 could, probably, get away with not fully respecting noinstr at this time. But that'd make a mess of things again, so my preference is as you did, unilaterally raise the min version for *SAN. That said; noinstr's __no_sanitize combined with atomic_t might be 'interesting', because the regular atomic things have explicit annotations in them. That should give validation warnings for the right .config, I'll have to go try -- so far I've made sure to never enable the *SAN stuff.