On Mon, 27 Feb 2023 at 23:16, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, 27 Feb 2023 10:47:27 +0100 Marco Elver <elver@xxxxxxxxxx> wrote: > > > With appropriate compiler support [1], KASAN builds use __asan prefixed > > meminstrinsics, and KASAN no longer overrides memcpy/memset/memmove. > > > > If compiler support is detected (CC_HAS_KASAN_MEMINTRINSIC_PREFIX), > > define memintrinsics normally (do not prefix '__'). > > > > On powerpc, KASAN is the only user of __mem functions, which are used to > > define instrumented memintrinsics. Alias the normal versions for KASAN > > to use in its implementation. > > > > Link: https://lore.kernel.org/all/20230224085942.1791837-1-elver@xxxxxxxxxx/ [1] > > Link: https://lore.kernel.org/oe-kbuild-all/202302271348.U5lvmo0S-lkp@xxxxxxxxx/ > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Signed-off-by: Marco Elver <elver@xxxxxxxxxx> > > Seems this is a fix against "kasan: treat meminstrinsic as builtins in > uninstrumented files", so I'll plan to fold this patch into that patch. Yes, that looks right. If a powerpc maintainer could take a quick look as well would be good. The maze of memcpy/memmove/memset definitions and redefinitions isn't the simplest - I hope in a few years we can delete all the old code (before CC_HAS_KASAN_MEMINTRINSIC_PREFIX), and let the compilers just "do the right thing". Thanks, -- Marco