[PATCH v2 3/3] tpm/kexec: Duplicate TPM measurement log in of-tree for kexec

kernel test robot lkp at intel.com
Tue Jun 28 09:53:11 PDT 2022


Hi Stefan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on linus/master v5.19-rc4 next-20220628]
[cannot apply to robh/for-next]
[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/intel-lab-lkp/linux/commits/Stefan-Berger/tpm-Preserve-TPM-measurement-log-across-kexec/20220616-234240
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 0a35780c755ccec097d15c6b4ff8b246a89f1689
config: parisc-randconfig-r012-20220627 (https://download.01.org/0day-ci/archive/20220629/202206290021.AodC96Vc-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/c28e0f7321d0b7245454e811a3dd0f2134d9dd74
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Stefan-Berger/tpm-Preserve-TPM-measurement-log-across-kexec/20220616-234240
        git checkout c28e0f7321d0b7245454e811a3dd0f2134d9dd74
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=parisc SHELL=/bin/bash drivers/of/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

   drivers/of/kexec.c: In function 'tpm_add_kexec_buffer':
>> drivers/of/kexec.c:371:18: error: implicit declaration of function 'vmalloc'; did you mean 'kvmalloc'? [-Werror=implicit-function-declaration]
     371 |         buffer = vmalloc(size);
         |                  ^~~~~~~
         |                  kvmalloc
   drivers/of/kexec.c:371:16: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
     371 |         buffer = vmalloc(size);
         |                ^
   drivers/of/kexec.c: In function 'tpm_post_kexec':
   drivers/of/kexec.c:446:42: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     446 |                 *(u64 *)newprop->value = (u64)phyaddr;
         |                                          ^
   cc1: some warnings being treated as errors


vim +371 drivers/of/kexec.c

   349	
   350	void tpm_add_kexec_buffer(struct kimage *image)
   351	{
   352		struct kexec_buf kbuf = { .image = image, .buf_align = 1,
   353					  .buf_min = 0, .buf_max = ULONG_MAX,
   354					  .top_down = true };
   355		struct device_node *np;
   356		void *buffer;
   357		u32 size;
   358		u64 base;
   359		int ret;
   360	
   361		if (!IS_ENABLED(CONFIG_PPC64))
   362			return;
   363	
   364		np = of_find_node_by_name(NULL, "vtpm");
   365		if (!np)
   366			return;
   367	
   368		if (of_tpm_get_sml_parameters(np, &base, &size) < 0)
   369			return;
   370	
 > 371		buffer = vmalloc(size);
   372		if (!buffer)
   373			return;
   374		memcpy(buffer, __va(base), size);
   375	
   376		kbuf.buffer = buffer;
   377		kbuf.bufsz = size;
   378		kbuf.memsz = size;
   379		ret = kexec_add_buffer(&kbuf);
   380		if (ret) {
   381			pr_err("Error passing over kexec TPM measurement log buffer: %d\n",
   382			       ret);
   383			return;
   384		}
   385	
   386		image->tpm_buffer = buffer;
   387		image->tpm_buffer_addr = kbuf.mem;
   388		image->tpm_buffer_size = size;
   389	}
   390	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



More information about the kexec mailing list