On Mon, Jul 05, 2021 at 11:01:44AM +0200, Marco Elver wrote: > On Mon, 5 Jul 2021 at 10:50, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Mon, Jul 5, 2021 at 10:28 AM Marco Elver <elver@xxxxxxxxxx> wrote: > > > The <linux/kasan.h> header relies on _RET_IP_ being defined, and had > > > been receiving that definition via inclusion of bug.h which includes > > > kernel.h. However, since f39650de687e that is no longer the case and get > > > the following build error when building CONFIG_KASAN_HW_TAGS on arm64: > > > > > > In file included from arch/arm64/mm/kasan_init.c:10: > > > ./include/linux/kasan.h: In function 'kasan_slab_free': > > > ./include/linux/kasan.h:230:39: error: '_RET_IP_' undeclared (first use in this function) > > > 230 | return __kasan_slab_free(s, object, _RET_IP_, init); > > > > > > Fix it by including kernel.h from kasan.h. > > > > ...which I would like to avoid in the long term, but for now it's > > probably the best quick fix, otherwise it will require the real split > > of _RET_IP or at least rethinking its location. > > > > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > Thanks! > > Thanks! Should be: Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > > > Fixes: f39650de687e ("kernel.h: split out panic and oops helpers") > > > > P.S. I have tested the initial patch against full build of x86_64, and > > it was long time available for different CIs/build bots, none > > complained so far. > > It only manifests on arm64 when using CONFIG_KASAN_HW_TAGS mode > (requires Arm64 MTE extensions). The other 2 modes include > <linux/pgtable.h> in kasan.h, and that seems to include kernel.h > somewhere. The HW_TAGS mode, however, doesn't receive -next testing by > a CI system AFAIK, so this was missed because it's not yet used by > many (I'd expect that to change when CPUs with MTE are more > widespread). Got it. -- With Best Regards, Andy Shevchenko