arm64/for-kernelci build: 2 builds: 1 failed, 1 passed, 1 error, 1 warning (v6.2-rc6-115-gca72d58361ee)

Catalin Marinas catalin.marinas at arm.com
Fri Feb 3 10:26:09 PST 2023


On Wed, Feb 01, 2023 at 01:59:33PM -0800, kernelci.org bot wrote:
> arm64/for-kernelci build: 2 builds: 1 failed, 1 passed, 1 error, 1 warning (v6.2-rc6-115-gca72d58361ee)
> 
> Full Build Summary: https://kernelci.org/build/arm64/branch/for-kernelci/kernel/v6.2-rc6-115-gca72d58361ee/
> 
> Tree: arm64
> Branch: for-kernelci
> Git Describe: v6.2-rc6-115-gca72d58361ee
> Git Commit: ca72d58361ee2e0d246385d21474b283f67416b9
> Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git
> Built: 1 unique architecture
> 
> Build Failure Detected:
> 
> arm64:
>     allmodconfig: (gcc-10) FAIL
> 
> Errors and Warnings Detected:
> 
> arm64:
>     allmodconfig (gcc-10): 1 error, 1 warning
> 
> Errors summary:
> 
>     1    include/linux/fortify-string.h:57:29: error: argument 2 null where non-null expected [-Werror=nonnull]

For some reason this shows with gcc-10 on arm64 allmodconfig but it's
been around for some time. We only noticed it now due to the SLUB_TINY
config that made it into 6.2-rc1 which disables KASAN. I can trigger it
on 6.1 just by disabling KASAN after an allmodconfig.

The problem is the NULL 2nd argument passed to append_fifo_load_as_imm()
in gen_split_key() in drivers/crypto/caam/key_gen.c. The error below
looks sane to me and the key_gen.c needs fixing as you can't do a
memcpy() from a NULL source pointer. But I have no clue how to fix it,
so cc'ing the code author and crypto maintainer.

In file included from include/linux/string.h:253,
                 from include/linux/bitmap.h:11,
                 from include/linux/cpumask.h:12,
                 from include/linux/smp.h:13,
                 from arch/arm64/include/asm/arch_timer.h:18,
                 from arch/arm64/include/asm/timex.h:8,
                 from include/linux/timex.h:67,
                 from include/linux/time32.h:13,
                 from include/linux/time.h:60,
                 from arch/arm64/include/asm/stat.h:12,
                 from include/linux/stat.h:6,
                 from include/linux/module.h:13,
                 from drivers/crypto/caam/compat.h:10,
                 from drivers/crypto/caam/key_gen.c:8:
drivers/crypto/caam/desc_constr.h: In function ‘append_data.constprop’:
include/linux/fortify-string.h:57:29: error: argument 2 null where non-null expected [-Werror=nonnull]
   57 | #define __underlying_memcpy __builtin_memcpy
      |                             ^
include/linux/fortify-string.h:578:2: note: in expansion of macro ‘__underlying_memcpy’
  578 |  __underlying_##op(p, q, __fortify_size);   \
      |  ^~~~~~~~~~~~~
include/linux/fortify-string.h:623:26: note: in expansion of macro ‘__fortify_memcpy_chk’
  623 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,   \
      |                          ^~~~~~~~~~~~~~~~~~~~
drivers/crypto/caam/desc_constr.h:167:3: note: in expansion of macro ‘memcpy’
  167 |   memcpy(offset, data, len);
      |   ^~~~~~
include/linux/fortify-string.h:57:29: note: in a call to built-in function ‘__builtin_memcpy’
   57 | #define __underlying_memcpy __builtin_memcpy
      |                             ^
include/linux/fortify-string.h:578:2: note: in expansion of macro ‘__underlying_memcpy’
  578 |  __underlying_##op(p, q, __fortify_size);   \
      |  ^~~~~~~~~~~~~
include/linux/fortify-string.h:623:26: note: in expansion of macro ‘__fortify_memcpy_chk’
  623 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,   \
      |                          ^~~~~~~~~~~~~~~~~~~~
drivers/crypto/caam/desc_constr.h:167:3: note: in expansion of macro ‘memcpy’
  167 |   memcpy(offset, data, len);
      |   ^~~~~~
cc1: all warnings being treated as errors
make[5]: *** [scripts/Makefile.build:252: drivers/crypto/caam/key_gen.o] Error 1

-- 
Catalin



More information about the linux-arm-kernel mailing list