mm/kasan/init.c:282:20: error: redefinition of 'kasan_populate_early_vm_area_shadow'

1 view
Skip to first unread message

Naresh Kamboju

unread,
Oct 11, 2021, 7:38:48 AM10/11/21
to Linux-Next Mailing List, open list, linux-mm, kasan-dev, Andrey Ryabinin, Alexander Potapenko, Andrey Konovalov, Dmitry Vyukov, Andrew Morton, Stephen Rothwell
Regression found on x86_64 gcc-11 built with KASAN enabled.
Following build warnings / errors reported on linux next 20211011.

metadata:
git_describe: next-20211011
git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
git_short_log: d3134eb5de85 (\"Add linux-next specific files for 20211011\")
target_arch: x86_64
toolchain: gcc-11

build error :
--------------
mm/kasan/init.c:282:20: error: redefinition of
'kasan_populate_early_vm_area_shadow'
282 | void __init __weak kasan_populate_early_vm_area_shadow(void *start,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mm.h:34,
from include/linux/memblock.h:13,
from mm/kasan/init.c:9:
include/linux/kasan.h:463:20: note: previous definition of
'kasan_populate_early_vm_area_shadow' with type 'void(void *, long
unsigned int)'
463 | static inline void kasan_populate_early_vm_area_shadow(void *start,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:288: mm/kasan/init.o] Error 1
make[3]: Target '__build' not remade because of errors.


Reported-by: Linux Kernel Functional Testing <lk...@linaro.org>

build link:
-----------
https://builds.tuxbuild.com/1zLv2snHfZN8QV01yA9MB8NhUZt/build.log

build config:
-------------
https://builds.tuxbuild.com/1zLv2snHfZN8QV01yA9MB8NhUZt/config

# To install tuxmake on your system globally
# sudo pip3 install -U tuxmake
tuxmake --runtime podman --target-arch x86_64 --toolchain gcc-11
--kconfig defconfig --kconfig-add
https://builds.tuxbuild.com/1zLv2snHfZN8QV01yA9MB8NhUZt/config

--
Linaro LKFT
https://lkft.linaro.org

Kefeng Wang

unread,
Oct 11, 2021, 8:17:20 AM10/11/21
to naresh....@linaro.org, ak...@linux-foundatio.org, andre...@gmail.com, dvy...@google.com, gli...@google.com, kasa...@googlegroups.com, linux-...@vger.kernel.org, linu...@kvack.org, linux...@vger.kernel.org, ryabin...@gmail.com, s...@canb.auug.org.au, Kefeng Wang, Linux Kernel Functional Testing, Catalin Marinas
Move kasan_populate_early_vm_area_shadow() from mm/kasan/init.c to
mm/kasan/shadow.c, make it under CONFIG_KASAN_VMALLOC to fix the
redefinition issue.

Reported-by: Linux Kernel Functional Testing <lk...@linaro.org>
Cc: Andrey Ryabinin <ryabin...@gmail.com>
Cc: Catalin Marinas <catalin...@arm.com>
Cc: Dmitry Vyukov <dvy...@google.com>
Cc: kasa...@googlegroups.com
Signed-off-by: Kefeng Wang <wangkef...@huawei.com>
---
Hi Andrew,
Could you help to merge this into previos patch
"kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC",
sorry for the build error.

mm/kasan/init.c | 5 -----
mm/kasan/shadow.c | 5 +++++
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mm/kasan/init.c b/mm/kasan/init.c
index d39577d088a1..cc64ed6858c6 100644
--- a/mm/kasan/init.c
+++ b/mm/kasan/init.c
@@ -279,11 +279,6 @@ int __ref kasan_populate_early_shadow(const void *shadow_start,
return 0;
}

-void __init __weak kasan_populate_early_vm_area_shadow(void *start,
- unsigned long size)
-{
-}
-
static void kasan_free_pte(pte_t *pte_start, pmd_t *pmd)
{
pte_t *pte;
diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
index 8d95ee52d019..4a4929b29a23 100644
--- a/mm/kasan/shadow.c
+++ b/mm/kasan/shadow.c
@@ -254,6 +254,11 @@ core_initcall(kasan_memhotplug_init);

#ifdef CONFIG_KASAN_VMALLOC

+void __init __weak kasan_populate_early_vm_area_shadow(void *start,
+ unsigned long size)
+{
+}
+
static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr,
void *unused)
{
--
2.27.0

Kefeng Wang

unread,
Oct 11, 2021, 8:22:10 AM10/11/21
to naresh....@linaro.org, Andrew Morton, andre...@gmail.com, dvy...@google.com, gli...@google.com, kasa...@googlegroups.com, linux-...@vger.kernel.org, linu...@kvack.org, linux...@vger.kernel.org, ryabin...@gmail.com, s...@canb.auug.org.au, Linux Kernel Functional Testing, Catalin Marinas


On 2021/10/11 20:32, Kefeng Wang wrote:
> Move kasan_populate_early_vm_area_shadow() from mm/kasan/init.c to
> mm/kasan/shadow.c, make it under CONFIG_KASAN_VMALLOC to fix the
> redefinition issue.
>
> Reported-by: Linux Kernel Functional Testing <lk...@linaro.org>
> Cc: Andrey Ryabinin <ryabin...@gmail.com>
> Cc: Catalin Marinas <catalin...@arm.com>
> Cc: Dmitry Vyukov <dvy...@google.com>
> Cc: kasa...@googlegroups.com
> Signed-off-by: Kefeng Wang <wangkef...@huawei.com>
> ---
> Hi Andrew,
> Could you help to merge this into previos patch
> "kasan: arm64: fix pcpu_page_first_chunk crash with KASAN_VMALLOC",
> sorry for the build error.

Correct Andrew's mail.

Naresh Kamboju

unread,
Oct 11, 2021, 8:42:57 AM10/11/21
to Linux-Next Mailing List, open list, linux-mm, kasan-dev, Andrey Ryabinin, Alexander Potapenko, Andrey Konovalov, Dmitry Vyukov, Stephen Rothwell, Andrew Morton
+ Andrew Morton <ak...@linux-foundation.org>

Andrew Morton

unread,
Oct 11, 2021, 4:53:50 PM10/11/21
to Naresh Kamboju, Linux-Next Mailing List, open list, linux-mm, kasan-dev, Andrey Ryabinin, Alexander Potapenko, Andrey Konovalov, Dmitry Vyukov, Stephen Rothwell, Kefeng Wang
Presumably "kasan: arm64: fix pcpu_page_first_chunk crash with
KASAN_VMALLOC". Let's cc Kefeng.

Kefeng Wang

unread,
Oct 11, 2021, 9:03:43 PM10/11/21
to Andrew Morton, Naresh Kamboju, Linux-Next Mailing List, open list, linux-mm, kasan-dev, Andrey Ryabinin, Alexander Potapenko, Andrey Konovalov, Dmitry Vyukov, Stephen Rothwell
Yes, I send a fix patch, and reply this mail, see
https://lore.kernel.org/linux-mm/5077aa7e-0167-33b6...@huawei.com/

>
> .
>
Reply all
Reply to author
Forward
0 new messages