2021-03-19 15:23:19

by Naresh Kamboju

[permalink] [raw]
Subject: arm64: compiler_types.h:320:38: error: call to __compiletime_assert_417

[This email landed to Spam for some reason, sending it again with modified
subject]

While building arm64 kernel modules the following kernel warnings /
errors noticed on linux next 20210318 tag the gcc version is 7.3.0.
Build PASS with gcc-8, gcc-9 and gcc-10.

In file included from <command-line>:0:0:
In function 'resiliency_test',
inlined from 'test_slub_init' at lib/test_slub.c:120:2:
include/linux/compiler_types.h:320:38: error: call to
'__compiletime_assert_417' declared with attribute error: BUILD_BUG_ON
failed: KMALLOC_MIN_SIZE > 16 | KMALLOC_SHIFT_HIGH < 10
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:301:4: note: in definition of macro
'__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler_types.h:320:2: note: in expansion of macro
'_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro
'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro
'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
^~~~~~~~~~~~~~~~
lib/test_slub.c:101:2: note: in expansion of macro 'BUILD_BUG_ON'
BUILD_BUG_ON(KMALLOC_MIN_SIZE > 16 | KMALLOC_SHIFT_HIGH < 10);
^~~~~~~~~~~~
make[2]: *** [ scripts/Makefile.build:273: lib/test_slub.o] Error 1
make[1]: *** [ Makefile:1980: lib] Error 2

Reported-by: Naresh Kamboju <[email protected]>

https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=juno,label=docker-buster-lkft/984/consoleFull

https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=juno,label=docker-buster-lkft/984/consoleFull

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


2021-03-19 17:57:07

by Catalin Marinas

[permalink] [raw]
Subject: Re: arm64: compiler_types.h:320:38: error: call to __compiletime_assert_417

On Fri, Mar 19, 2021 at 08:49:07PM +0530, Naresh Kamboju wrote:
> [This email landed to Spam for some reason, sending it again with modified
> subject]
>
> While building arm64 kernel modules the following kernel warnings /
> errors noticed on linux next 20210318 tag the gcc version is 7.3.0.
> Build PASS with gcc-8, gcc-9 and gcc-10.
>
> In file included from <command-line>:0:0:
> In function 'resiliency_test',
> inlined from 'test_slub_init' at lib/test_slub.c:120:2:
> include/linux/compiler_types.h:320:38: error: call to
> '__compiletime_assert_417' declared with attribute error: BUILD_BUG_ON
> failed: KMALLOC_MIN_SIZE > 16 | KMALLOC_SHIFT_HIGH < 10

KMALLOC_MIN_SIZE is 128 on arm64, so commit 1a58eef5def9 ("selftests:
add a kselftest for SLUB debugging functionality") breaks the build. The
test was previously in mm/slub.c hidden behind macro that no-one
enabled.

--
Catalin

2021-03-19 18:03:37

by Vlastimil Babka

[permalink] [raw]
Subject: Re: arm64: compiler_types.h:320:38: error: call to __compiletime_assert_417

On 3/19/21 4:19 PM, Naresh Kamboju wrote:
> [This email landed to Spam for some reason, sending it again with modified
> subject]
>
> While building arm64 kernel modules the following kernel warnings /
> errors noticed on linux next 20210318 tag the gcc version is 7.3.0.
> Build PASS with gcc-8, gcc-9 and gcc-10.
>
> In file included from <command-line>:0:0:
> In function 'resiliency_test',
> inlined from 'test_slub_init' at lib/test_slub.c:120:2:
> include/linux/compiler_types.h:320:38: error: call to
> '__compiletime_assert_417' declared with attribute error: BUILD_BUG_ON
> failed: KMALLOC_MIN_SIZE > 16 | KMALLOC_SHIFT_HIGH < 10
> _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> ^
> include/linux/compiler_types.h:301:4: note: in definition of macro
> '__compiletime_assert'
> prefix ## suffix(); \
> ^~~~~~
> include/linux/compiler_types.h:320:2: note: in expansion of macro
> '_compiletime_assert'
> _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> ^~~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:39:37: note: in expansion of macro
> 'compiletime_assert'
> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> ^~~~~~~~~~~~~~~~~~
> include/linux/build_bug.h:50:2: note: in expansion of macro
> 'BUILD_BUG_ON_MSG'
> BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
> ^~~~~~~~~~~~~~~~
> lib/test_slub.c:101:2: note: in expansion of macro 'BUILD_BUG_ON'
> BUILD_BUG_ON(KMALLOC_MIN_SIZE > 16 | KMALLOC_SHIFT_HIGH < 10);
> ^~~~~~~~~~~~
> make[2]: *** [ scripts/Makefile.build:273: lib/test_slub.o] Error 1
> make[1]: *** [ Makefile:1980: lib] Error 2
>
> Reported-by: Naresh Kamboju <[email protected]>
>
> https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=juno,label=docker-buster-lkft/984/consoleFull
>
> https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-next/DISTRO=lkft,MACHINE=juno,label=docker-buster-lkft/984/consoleFull
>

Andrew, please add this -fix
Thanks.

----8<----
From f97312224278839321a5ff9be2b8487553a97c63 Mon Sep 17 00:00:00 2001
From: Vlastimil Babka <[email protected]>
Date: Fri, 19 Mar 2021 18:56:50 +0100
Subject: [PATCH] selftests: add a kselftest for SLUB debugging
functionality-fix

Remove a BUILD_BUG_ON left over from original resiliency_test() that breaks
builds.

Reported-by: Naresh Kamboju <[email protected]>
Signed-off-by: Vlastimil Babka <[email protected]>
---
lib/test_slub.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/lib/test_slub.c b/lib/test_slub.c
index 0075d9b44251..b7ad6c0b07a6 100644
--- a/lib/test_slub.c
+++ b/lib/test_slub.c
@@ -97,9 +97,6 @@ static void __init test_clobber_redzone_free(void)

static void __init resiliency_test(void)
{
-
- BUILD_BUG_ON(KMALLOC_MIN_SIZE > 16 || KMALLOC_SHIFT_HIGH < 10);
-
pr_err("SLUB resiliency testing\n");
pr_err("-----------------------\n");
pr_err("A. Corruption after allocation\n");
--
2.30.2

2021-03-21 23:10:36

by Stephen Rothwell

[permalink] [raw]
Subject: Re: arm64: compiler_types.h:320:38: error: call to __compiletime_assert_417

Hi Vlastimil,

On Fri, 19 Mar 2021 19:01:28 +0100 Vlastimil Babka <[email protected]> wrote:
>
> Andrew, please add this -fix
> Thanks.
>
> ----8<----
> From f97312224278839321a5ff9be2b8487553a97c63 Mon Sep 17 00:00:00 2001
> From: Vlastimil Babka <[email protected]>
> Date: Fri, 19 Mar 2021 18:56:50 +0100
> Subject: [PATCH] selftests: add a kselftest for SLUB debugging
> functionality-fix
>
> Remove a BUILD_BUG_ON left over from original resiliency_test() that breaks
> builds.
>
> Reported-by: Naresh Kamboju <[email protected]>
> Signed-off-by: Vlastimil Babka <[email protected]>
> ---
> lib/test_slub.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/lib/test_slub.c b/lib/test_slub.c
> index 0075d9b44251..b7ad6c0b07a6 100644
> --- a/lib/test_slub.c
> +++ b/lib/test_slub.c
> @@ -97,9 +97,6 @@ static void __init test_clobber_redzone_free(void)
>
> static void __init resiliency_test(void)
> {
> -
> - BUILD_BUG_ON(KMALLOC_MIN_SIZE > 16 || KMALLOC_SHIFT_HIGH < 10);
> -
> pr_err("SLUB resiliency testing\n");
> pr_err("-----------------------\n");
> pr_err("A. Corruption after allocation\n");
> --
> 2.30.2
>

Added to linux-next today.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature