Skip to content
  • Arnd Bergmann's avatar
    kasan: fix kasan_check_read/write definitions · bcf6f55a
    Arnd Bergmann authored
    Building little-endian allmodconfig kernels on arm64 started failing
    with the generated atomic.h implementation, since we now try to call
    kasan helpers from the EFI stub:
      aarch64-linux-gnu-ld: drivers/firmware/efi/libstub/arm-stub.stub.o: in function `atomic_set':
      include/generated/atomic-instrumented.h:44: undefined reference to `__efistub_kasan_check_write'
    I suspect that we get similar problems in other files that explicitly
    disable KASAN for some reason but call atomic_t based helper functions.
    We can fix this by checking the predefined __SANITIZE_ADDRESS__ macro
    that the compiler sets instead of checking CONFIG_KASAN, but this in
    turn requires a small hack in mm/kasan/common.c so we do see the extern
    declaration there instead of the inline function.
    Fixes: b1864b828644 ("locking/atomics: build atomic headers as required")
    Signed-off-by: default avatarArnd Bergmann <>
    Reported-by: default avatarAnders Roxell <>
    Acked-by: default avatarAndrey Ryabinin <>
    Cc: Ard Biesheuvel <>
    Cc: Will Deacon <>
    Cc: Mark Rutland <>
    Cc: Alexander Potapenko <>
    Cc: Dmitry Vyukov <>
    Cc: Andrey Konovalov <>
    Cc: Stephen Rothwell <>,
    Signed-off-by: default avatarAndrew Morton <>
    Signed-off-by: default avatarLinus Torvalds <>