Re: linux-next: build failure after merge of the integrity tree

From: Thiago Jung Bauermann
Date: Mon Aug 05 2019 - 23:18:20 EST



Hello Stephen,

Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> writes:

> Hi all,
>
> After merging the integrity tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> In file included from <command-line>:
> include/linux/module_signature.h:32:2: error: unknown type name 'u8'
> u8 algo; /* Public-key crypto algorithm [0] */
> ^~
> include/linux/module_signature.h:33:2: error: unknown type name 'u8'
> u8 hash; /* Digest algorithm [0] */
> ^~
> include/linux/module_signature.h:34:2: error: unknown type name 'u8'
> u8 id_type; /* Key identifier type [PKEY_ID_PKCS7] */
> ^~
> include/linux/module_signature.h:35:2: error: unknown type name 'u8'
> u8 signer_len; /* Length of signer's name [0] */
> ^~
> include/linux/module_signature.h:36:2: error: unknown type name 'u8'
> u8 key_id_len; /* Length of key identifier [0] */
> ^~
> include/linux/module_signature.h:37:2: error: unknown type name 'u8'
> u8 __pad[3];
> ^~
> include/linux/module_signature.h:38:2: error: unknown type name '__be32'
> __be32 sig_len; /* Length of signature data */
> ^~~~~~
> include/linux/module_signature.h:41:54: error: unknown type name 'size_t'
> int mod_check_sig(const struct module_signature *ms, size_t file_len,
> ^~~~~~
> include/linux/module_signature.h:41:54: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
> include/linux/module_signature.h:1:1:
> +#include <stddef.h>
> /* SPDX-License-Identifier: GPL-2.0+ */
> include/linux/module_signature.h:41:54:
> int mod_check_sig(const struct module_signature *ms, size_t file_len,
> ^~~~~~
>
> Caused by commit
>
> c8424e776b09 ("MODSIGN: Export module signature definitions")
>
> We now have build time checks to make sure that include files are self
> contained.
>
> I have added the following fix patch for today.
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Tue, 6 Aug 2019 12:09:36 +1000
> Subject: [PATCH] MODSIGN: make new include file self contained
>
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> include/linux/module_signature.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/module_signature.h b/include/linux/module_signature.h
> index 523617fc5b6a..7eb4b00381ac 100644
> --- a/include/linux/module_signature.h
> +++ b/include/linux/module_signature.h
> @@ -9,6 +9,8 @@
> #ifndef _LINUX_MODULE_SIGNATURE_H
> #define _LINUX_MODULE_SIGNATURE_H
>
> +#include <linux/types.h>
> +
> /* In stripped ARM and x86-64 modules, ~ is surprisingly rare. */
> #define MODULE_SIG_STRING "~Module signature appended~\n"

Sorry for the trouble. I wasn't aware of that build time check.
I'll enable HEADER_TEST and KERNEL_HEADER_TEST for my next patches.

Thanks for providing the fix. Should I post a new version or can Mimi
squash the above into the original patch?

--
Thiago Jung Bauermann
IBM Linux Technology Center