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! > 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. > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> > --- > include/linux/kasan.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > index 5310e217bd74..dd874a1ee862 100644 > --- a/include/linux/kasan.h > +++ b/include/linux/kasan.h > @@ -3,6 +3,7 @@ > #define _LINUX_KASAN_H > > #include <linux/bug.h> > +#include <linux/kernel.h> > #include <linux/static_key.h> > #include <linux/types.h> > > -- > 2.32.0.93.g670b81a890-goog > -- With Best Regards, Andy Shevchenko