Messages in this thread | | | Date | Tue, 2 Jun 2020 21:38:53 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH -tip 1/2] Kconfig: Bump required compiler version of KASAN and UBSAN |
| |
On Tue, Jun 02, 2020 at 09:25:47PM +0200, Marco Elver wrote: > On Tue, 2 Jun 2020 at 21:19, Peter Zijlstra <peterz@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.
| |