Re: [PATCH v8 14/15] x86: Secure Launch late initcall platform module

kernel test robot
2024-02-16T01:54:45Z

Hi Ross,

kernel test robot noticed the following build warnings:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on char-misc/char-misc-next char-misc/char-misc-linus herbert-cryptodev-2.6/master herbert-crypto-2.6/master linus/master v6.8-rc4 next-20240215]
[cannot apply to tip/x86/core]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Ross-Philipson/x86-boot-Place-kernel_info-at-a-fixed-offset/20240215-064712
base: char-misc/char-misc-testing
patch link: https://lore.kernel.org/r/20240214221847.2066632-15-ross.philipson%40oracle.com
patch subject: [PATCH v8 14/15] x86: Secure Launch late initcall platform module
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20240216/202402160909.BRTtBK7T-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240216/202402160909.BRTtBK7T-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402160909.BRTtBK7T-lkp@intel.com/

All warnings (new ones prefixed by >>):

In file included from arch/x86/kernel/slmodule.c:28:
In file included from include/linux/slaunch.h:185:
include/linux/tpm_eventlog.h:167:6: warning: variable 'mapping_size' set but not used [-Wunused-but-set-variable]
167 | int mapping_size;
| ^
>> arch/x86/kernel/slmodule.c:352:4: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
352 | default:
| ^
arch/x86/kernel/slmodule.c:352:4: note: insert 'break;' to avoid fall-through
352 | default:
| ^
| break;
2 warnings generated.

vim +352 arch/x86/kernel/slmodule.c

313
314 static void slaunch_tpm20_extend_event(struct tpm_chip *tpm, void __iomem *txt,
315 struct tcg_pcr_event2_head *event)
316 {
317 u16 *alg_id_field = (u16 *)((u8 *)event + sizeof(struct tcg_pcr_event2_head));
318 struct tpm_digest *digests;
319 u8 *dptr;
320 u32 i, j;
321 int ret;
322
323 digests = kcalloc(tpm->nr_allocated_banks, sizeof(*digests),
324 GFP_KERNEL);
325 if (!digests)
326 slaunch_txt_reset(txt, "Failed to allocate array of digests\n",
327 SL_ERROR_GENERIC);
328
329 for (i = 0; i < tpm->nr_allocated_banks; i++)
330 digests[i].alg_id = tpm->allocated_banks[i].alg_id;
331
332 /* Early SL code ensured there was a max count of 2 digests */
333 for (i = 0; i < event->count; i++) {
334 dptr = (u8 *)alg_id_field + sizeof(u16);
335
336 for (j = 0; j < tpm->nr_allocated_banks; j++) {
337 if (digests[j].alg_id != *alg_id_field)
338 continue;
339
340 switch (digests[j].alg_id) {
341 case TPM_ALG_SHA256:
342 memcpy(&digests[j].digest[0], dptr,
343 SHA256_DIGEST_SIZE);
344 alg_id_field = (u16 *)((u8 *)alg_id_field +
345 SHA256_DIGEST_SIZE + sizeof(u16));
346 break;
347 case TPM_ALG_SHA1:
348 memcpy(&digests[j].digest[0], dptr,
349 SHA1_DIGEST_SIZE);
350 alg_id_field = (u16 *)((u8 *)alg_id_field +
351 SHA1_DIGEST_SIZE + sizeof(u16));
> 352 default:
353 break;
354 }
355 }
356 }
357
358 ret = tpm_pcr_extend(tpm, event->pcr_idx, digests);
359 if (ret) {
360 pr_err("Error extending TPM20 PCR, result: %d\n", ret);
361 slaunch_txt_reset(txt, "Failed to extend TPM20 PCR\n",
362 SL_ERROR_TPM_EXTEND);
363 }
364
365 kfree(digests);
366 }
367

--
0-DAY CI Kernel Test Service