Re: [PATCH] fTPM: make sure TEE is initialized before fTPM

From: kernel test robot
Date: Sat Jan 16 2021 - 01:11:31 EST


Hi Wei,

I love your patch! Yet something to improve:

[auto build test ERROR on linux/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Wei-Liu/fTPM-make-sure-TEE-is-initialized-before-fTPM/20210116-081538
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5ee88057889bbca5f5bb96031b62b3756b33e164
config: x86_64-rhel (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/b82b3e643532e299d9c6e622604e6d8d090153f0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Wei-Liu/fTPM-make-sure-TEE-is-initialized-before-fTPM/20210116-081538
git checkout b82b3e643532e299d9c6e622604e6d8d090153f0
# save the attached .config to linux build tree
make W=1 ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

ld: drivers/char/tpm/tpm-dev-common.o: in function `tpm_dev_common_init':
drivers/char/tpm/tpm-dev-common.c:267: multiple definition of `tpm_dev_common_init'; drivers/char/tpm/tpm-dev-common.o:drivers/char/tpm/tpm-dev-common.c:267: first defined here
ld: drivers/char/tpm/tpm-dev-common.o: in function `tpm_dev_common_exit':
drivers/char/tpm/tpm-dev-common.c:275: multiple definition of `tpm_dev_common_exit'; drivers/char/tpm/tpm-dev-common.o:drivers/char/tpm/tpm-dev-common.c:275: first defined here
ld: drivers/char/tpm/tpm-dev.o:drivers/char/tpm/tpm-dev.c:60: multiple definition of `tpm_fops'; drivers/char/tpm/tpm-dev.o:drivers/char/tpm/tpm-dev.c:60: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_calc_ordinal_duration':
drivers/char/tpm/tpm-interface.c:53: multiple definition of `tpm_calc_ordinal_duration'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:53: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_transmit_cmd':
drivers/char/tpm/tpm-interface.c:215: multiple definition of `tpm_transmit_cmd'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:215: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_get_timeouts':
drivers/char/tpm/tpm-interface.c:240: multiple definition of `tpm_get_timeouts'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:240: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_is_tpm2':
drivers/char/tpm/tpm-interface.c:261: multiple definition of `tpm_is_tpm2'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:261: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_pcr_read':
drivers/char/tpm/tpm-interface.c:286: multiple definition of `tpm_pcr_read'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:286: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_pcr_extend':
drivers/char/tpm/tpm-interface.c:316: multiple definition of `tpm_pcr_extend'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:316: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_send':
drivers/char/tpm/tpm-interface.c:354: multiple definition of `tpm_send'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:354: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_pm_suspend':
drivers/char/tpm/tpm-interface.c:390: multiple definition of `tpm_pm_suspend'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:390: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_pm_resume':
drivers/char/tpm/tpm-interface.c:423: multiple definition of `tpm_pm_resume'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:423: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_get_random':
drivers/char/tpm/tpm-interface.c:442: multiple definition of `tpm_get_random'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:442: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_transmit':
drivers/char/tpm/tpm-interface.c:154: multiple definition of `tpm_transmit'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:154: first defined here
ld: drivers/char/tpm/tpm-interface.o: in function `tpm_auto_startup':
drivers/char/tpm/tpm-interface.c:371: multiple definition of `tpm_auto_startup'; drivers/char/tpm/tpm-interface.o:drivers/char/tpm/tpm-interface.c:371: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_getcap':
drivers/char/tpm/tpm1-cmd.c:484: multiple definition of `tpm1_getcap'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:484: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_do_selftest':
drivers/char/tpm/tpm1-cmd.c:643: multiple definition of `tpm1_do_selftest'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:643: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_calc_ordinal_duration':
drivers/char/tpm/tpm1-cmd.c:292: multiple definition of `tpm1_calc_ordinal_duration'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:292: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_get_timeouts':
drivers/char/tpm/tpm1-cmd.c:343: multiple definition of `tpm1_get_timeouts'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:343: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_pcr_extend':
drivers/char/tpm/tpm1-cmd.c:465: multiple definition of `tpm1_pcr_extend'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:465: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_get_random':
drivers/char/tpm/tpm1-cmd.c:531: multiple definition of `tpm1_get_random'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:531: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_pcr_read':
drivers/char/tpm/tpm1-cmd.c:585: multiple definition of `tpm1_pcr_read'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:585: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_auto_startup':
drivers/char/tpm/tpm1-cmd.c:705: multiple definition of `tpm1_auto_startup'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:705: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_pm_suspend':
drivers/char/tpm/tpm1-cmd.c:738: multiple definition of `tpm1_pm_suspend'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:738: first defined here
ld: drivers/char/tpm/tpm1-cmd.o: in function `tpm1_get_pcr_allocation':
drivers/char/tpm/tpm1-cmd.c:796: multiple definition of `tpm1_get_pcr_allocation'; drivers/char/tpm/tpm1-cmd.o:drivers/char/tpm/tpm1-cmd.c:796: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_flush_context':
drivers/char/tpm/tpm2-cmd.c:349: multiple definition of `tpm2_flush_context'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:349: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_get_tpm_pt':
drivers/char/tpm/tpm2-cmd.c:388: multiple definition of `tpm2_get_tpm_pt'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:388: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_probe':
drivers/char/tpm/tpm2-cmd.c:484: multiple definition of `tpm2_probe'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:484: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_get_cc_attrs_tbl':
drivers/char/tpm/tpm2-cmd.c:619: multiple definition of `tpm2_get_cc_attrs_tbl'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:619: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_get_timeouts':
drivers/char/tpm/tpm2-cmd.c:26: multiple definition of `tpm2_get_timeouts'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:26: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_calc_ordinal_duration':
drivers/char/tpm/tpm2-cmd.c:129: multiple definition of `tpm2_calc_ordinal_duration'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:129: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_pcr_read':
drivers/char/tpm/tpm2-cmd.c:163: multiple definition of `tpm2_pcr_read'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:163: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_pcr_extend':
drivers/char/tpm/tpm2-cmd.c:237: multiple definition of `tpm2_pcr_extend'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:237: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_get_random':
drivers/char/tpm/tpm2-cmd.c:289: multiple definition of `tpm2_get_random'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:289: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_shutdown':
drivers/char/tpm/tpm2-cmd.c:421: multiple definition of `tpm2_shutdown'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:421: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_get_pcr_allocation':
drivers/char/tpm/tpm2-cmd.c:540: multiple definition of `tpm2_get_pcr_allocation'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:540: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_auto_startup':
drivers/char/tpm/tpm2-cmd.c:723: multiple definition of `tpm2_auto_startup'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:723: first defined here
ld: drivers/char/tpm/tpm2-cmd.o: in function `tpm2_find_cc':
drivers/char/tpm/tpm2-cmd.c:753: multiple definition of `tpm2_find_cc'; drivers/char/tpm/tpm2-cmd.o:drivers/char/tpm/tpm2-cmd.c:753: first defined here
ld: drivers/char/tpm/tpmrm-dev.o:drivers/char/tpm/tpmrm-dev.c:47: multiple definition of `tpmrm_fops'; drivers/char/tpm/tpmrm-dev.o:drivers/char/tpm/tpmrm-dev.c:47: first defined here
ld: drivers/char/tpm/tpm2-space.o: in function `tpm2_init_space':
drivers/char/tpm/tpm2-space.c:42: multiple definition of `tpm2_init_space'; drivers/char/tpm/tpm2-space.o:drivers/char/tpm/tpm2-space.c:42: first defined here
ld: drivers/char/tpm/tpm2-space.o: in function `tpm2_del_space':
drivers/char/tpm/tpm2-space.c:60: multiple definition of `tpm2_del_space'; drivers/char/tpm/tpm2-space.o:drivers/char/tpm/tpm2-space.c:60: first defined here
ld: drivers/char/tpm/tpm2-space.o: in function `tpm2_flush_space':
drivers/char/tpm/tpm2-space.c:165: multiple definition of `tpm2_flush_space'; drivers/char/tpm/tpm2-space.o:drivers/char/tpm/tpm2-space.c:165: first defined here
ld: drivers/char/tpm/tpm2-space.o: in function `tpm2_prepare_space':
drivers/char/tpm/tpm2-space.c:302: multiple definition of `tpm2_prepare_space'; drivers/char/tpm/tpm2-space.o:drivers/char/tpm/tpm2-space.c:302: first defined here
ld: drivers/char/tpm/tpm2-space.o: in function `tpm2_commit_space':
drivers/char/tpm/tpm2-space.c:533: multiple definition of `tpm2_commit_space'; drivers/char/tpm/tpm2-space.o:drivers/char/tpm/tpm2-space.c:533: first defined here
ld: drivers/char/tpm/tpm-sysfs.o: in function `tpm_sysfs_add_device':
drivers/char/tpm/tpm-sysfs.c:341: multiple definition of `tpm_sysfs_add_device'; drivers/char/tpm/tpm-sysfs.o:drivers/char/tpm/tpm-sysfs.c:341: first defined here
ld: drivers/char/tpm/eventlog/common.o: in function `tpm_bios_log_teardown':
drivers/char/tpm/eventlog/common.c:167: multiple definition of `tpm_bios_log_teardown'; drivers/char/tpm/eventlog/common.o:drivers/char/tpm/eventlog/common.c:167: first defined here
ld: drivers/char/tpm/eventlog/common.o: in function `tpm_bios_log_setup':
drivers/char/tpm/eventlog/common.c:104: multiple definition of `tpm_bios_log_setup'; drivers/char/tpm/eventlog/common.o:drivers/char/tpm/eventlog/common.c:104: first defined here
ld: drivers/char/tpm/eventlog/tpm1.o:drivers/char/tpm/eventlog/tpm1.c:291: multiple definition of `tpm1_binary_b_measurements_seqops'; drivers/char/tpm/eventlog/tpm1.o:drivers/char/tpm/eventlog/tpm1.c:291: first defined here
ld: drivers/char/tpm/eventlog/tpm1.o:drivers/char/tpm/eventlog/tpm1.c:284: multiple definition of `tpm1_ascii_b_measurements_seqops'; drivers/char/tpm/eventlog/tpm1.o:drivers/char/tpm/eventlog/tpm1.c:284: first defined here
ld: drivers/char/tpm/eventlog/tpm2.o:drivers/char/tpm/eventlog/tpm2.c:154: multiple definition of `tpm2_binary_b_measurements_seqops'; drivers/char/tpm/eventlog/tpm2.o:drivers/char/tpm/eventlog/tpm2.c:154: first defined here
ld: drivers/char/tpm/tpm_ppi.o: in function `tpm_add_ppi':
drivers/char/tpm/tpm_ppi.c:367: multiple definition of `tpm_add_ppi'; drivers/char/tpm/tpm_ppi.o:drivers/char/tpm/tpm_ppi.c:367: first defined here
ld: drivers/char/tpm/eventlog/acpi.o: in function `tpm_read_log_acpi':
drivers/char/tpm/eventlog/acpi.c:46: multiple definition of `tpm_read_log_acpi'; drivers/char/tpm/eventlog/acpi.o:drivers/char/tpm/eventlog/acpi.c:46: first defined here
ld: drivers/char/tpm/eventlog/efi.o: in function `tpm_read_log_efi':
>> drivers/char/tpm/eventlog/efi.c:17: multiple definition of `tpm_read_log_efi'; drivers/char/tpm/eventlog/efi.o:drivers/char/tpm/eventlog/efi.c:17: first defined here
ld: drivers/char/tpm/tpm_tis_core.o: in function `tpm_tis_remove':
drivers/char/tpm/tpm_tis_core.c:857: multiple definition of `tpm_tis_remove'; drivers/char/tpm/tpm_tis_core.o:drivers/char/tpm/tpm_tis_core.c:857: first defined here
ld: drivers/char/tpm/tpm_tis_core.o: in function `tpm_tis_core_init':
drivers/char/tpm/tpm_tis_core.c:949: multiple definition of `tpm_tis_core_init'; drivers/char/tpm/tpm_tis_core.o:drivers/char/tpm/tpm_tis_core.c:949: first defined here
ld: drivers/char/tpm/tpm_tis_core.o: in function `tpm_tis_resume':
drivers/char/tpm/tpm_tis_core.c:1143: multiple definition of `tpm_tis_resume'; drivers/char/tpm/tpm_tis_core.o:drivers/char/tpm/tpm_tis_core.c:1143: first defined here


vim +17 drivers/char/tpm/eventlog/efi.c

58cc1e4faf10a73c drivers/char/tpm/tpm_eventlog_efi.c Thiebaud Weksteen 2017-09-20 14
58cc1e4faf10a73c drivers/char/tpm/tpm_eventlog_efi.c Thiebaud Weksteen 2017-09-20 15 /* read binary bios log from EFI configuration table */
58cc1e4faf10a73c drivers/char/tpm/tpm_eventlog_efi.c Thiebaud Weksteen 2017-09-20 16 int tpm_read_log_efi(struct tpm_chip *chip)
58cc1e4faf10a73c drivers/char/tpm/tpm_eventlog_efi.c Thiebaud Weksteen 2017-09-20 @17 {

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip