Subject: linux-next: build failure after merge of the tpmdd tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 5 Jun 2019 12:09:46 +1000

Hi all,

After merging the tpmdd tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

include/linux/tpm_eventlog.h: In function '__calc_tpm2_event_size':
drivers/firmware/efi/tpm.c:7:35: error: implicit declaration of function 'early_memremap'; did you mean 'early_memtest'? [-Werror=implicit-function-declaration]
 #define TPM_MEMREMAP(start, size) early_memremap(start, size)
                                   ^~~~~~~~~~~~~~
include/linux/tpm_eventlog.h:182:13: note: in expansion of macro 'TPM_MEMREMAP'
   mapping = TPM_MEMREMAP((unsigned long)marker_start,
             ^~~~~~~~~~~~
In file included from drivers/firmware/efi/tpm.c:13:
include/linux/tpm_eventlog.h:182:11: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   mapping = TPM_MEMREMAP((unsigned long)marker_start,
           ^
drivers/firmware/efi/tpm.c:8:35: error: implicit declaration of function 'early_memunmap'; did you mean 'early_memtest'? [-Werror=implicit-function-declaration]
 #define TPM_MEMUNMAP(start, size) early_memunmap(start, size)
                                   ^~~~~~~~~~~~~~
include/linux/tpm_eventlog.h:207:4: note: in expansion of macro 'TPM_MEMUNMAP'
    TPM_MEMUNMAP(mapping, mapping_size);
    ^~~~~~~~~~~~
In file included from drivers/firmware/efi/tpm.c:13:
include/linux/tpm_eventlog.h:209:12: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
    mapping = TPM_MEMREMAP((unsigned long)marker,
            ^
include/linux/tpm_eventlog.h:243:11: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
   mapping = TPM_MEMREMAP((unsigned long)marker,
           ^
In file included from ./arch/arm/include/generated/asm/early_ioremap.h:1,
                 from drivers/firmware/efi/tpm.c:15:
include/asm-generic/early_ioremap.h: At top level:
include/asm-generic/early_ioremap.h:13:14: error: conflicting types for 'early_memremap'
 extern void *early_memremap(resource_size_t phys_addr,
              ^~~~~~~~~~~~~~
drivers/firmware/efi/tpm.c:7:35: note: previous implicit declaration of 'early_memremap' was here
 #define TPM_MEMREMAP(start, size) early_memremap(start, size)
                                   ^~~~~~~~~~~~~~
include/linux/tpm_eventlog.h:182:13: note: in expansion of macro 'TPM_MEMREMAP'
   mapping = TPM_MEMREMAP((unsigned long)marker_start,
             ^~~~~~~~~~~~
In file included from ./arch/arm/include/generated/asm/early_ioremap.h:1,
                 from drivers/firmware/efi/tpm.c:15:
include/asm-generic/early_ioremap.h:20:13: warning: conflicting types for 'early_memunmap'
 extern void early_memunmap(void *addr, unsigned long size);
             ^~~~~~~~~~~~~~
drivers/firmware/efi/tpm.c:8:35: note: previous implicit declaration of 'early_memunmap' was here
 #define TPM_MEMUNMAP(start, size) early_memunmap(start, size)
                                   ^~~~~~~~~~~~~~
include/linux/tpm_eventlog.h:207:4: note: in expansion of macro 'TPM_MEMUNMAP'
    TPM_MEMUNMAP(mapping, mapping_size);
    ^~~~~~~~~~~~
drivers/firmware/efi/tpm.c: In function 'efi_tpm_eventlog_init':
drivers/firmware/efi/tpm.c:81:10: warning: passing argument 1 of 'tpm2_calc_event_log_size' makes pointer from integer without a cast [-Wint-conversion]
  tbl_size = tpm2_calc_event_log_size(efi.tpm_final_log
                                      ~~~~~~~~~~~~~~~~~
          + sizeof(final_tbl->version)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + sizeof(final_tbl->nr_events),
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/firmware/efi/tpm.c:20:43: note: expected 'void *' but argument is of type 'long unsigned int'
 static int tpm2_calc_event_log_size(void *data, int count, void *size_info)
                                     ~~~~~~^~~~
cc1: some warnings being treated as errors

Caused by commit

  b25b956d13d5 ("tpm: Reserve the TPM final events table")

I have used the tpmdd tree from next-20190604 for today.

-- 
Cheers,
Stephen Rothwell