On Fri, Mar 12, 2021 at 12:02 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > On Thu, Mar 11, 2021 at 10:37PM +0100, Andrey Konovalov wrote: > [...] > > +Other parts of the kernel might access metadata for allocated objects. Normally, > > +KASAN detects and reports such accesses, but in certain cases (e.g., in memory > > +allocators) these accesses are valid. Disabling instrumentation for memory > > +allocators files helps with accesses that happen directly in that code for > > +software KASAN modes. But it does not help when the accesses happen indirectly > > +(through generic function calls) or with the hardware tag-based mode that does > > +not use compiler instrumentation. > > + > > +To disable KASAN reports in a certain part of the kernel code: > > + > > +- For software modes, add a > > + ``kasan_disable_current()``/``kasan_enable_current()`` critical section. > > Should we mention function attribute __no_sanitize_address (and noinstr, > which just applies to any kind of instrumentation) here? Perhaps with > the note that called functions may still be instrumented, and in such > cases would require combining with kasan_{disable,enable}_current(). Indeed, forgot about the attributes.. Will add, thank you!