Re: [PATCH v5 3/4] efi/cper: align ARM CPER type with UEFI 2.9A/2.10 specs

From: kernel test robot
Date: Thu Jun 27 2024 - 05:00:22 EST


Hi Mauro,

kernel test robot noticed the following build errors:

[auto build test ERROR on efi/next]
[also build test ERROR on rafael-pm/linux-next rafael-pm/bleeding-edge linus/master v6.10-rc5 next-20240626]
[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/Mauro-Carvalho-Chehab/efi-cper-Adjust-infopfx-size-to-accept-an-extra-space/20240625-203952
base: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
patch link: https://lore.kernel.org/r/b9354882f45a0c600e65df4bacee2f1080c4ba89.1719219886.git.mchehab%2Bhuawei%40kernel.org
patch subject: [PATCH v5 3/4] efi/cper: align ARM CPER type with UEFI 2.9A/2.10 specs
config: i386-randconfig-004-20240627 (https://download.01.org/0day-ci/archive/20240627/202406271626.72sHSPJJ-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240627/202406271626.72sHSPJJ-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406271626.72sHSPJJ-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

>> drivers/acpi/apei/ghes.c:566:6: error: call to undeclared function 'FIELD_GET'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
566 | FIELD_GET(CPER_ARM_ERR_TYPE_MASK, err_info->type),
| ^
1 error generated.


vim +/FIELD_GET +566 drivers/acpi/apei/ghes.c

530
531 static bool ghes_handle_arm_hw_error(struct acpi_hest_generic_data *gdata,
532 int sev, bool sync)
533 {
534 struct cper_sec_proc_arm *err = acpi_hest_get_payload(gdata);
535 int flags = sync ? MF_ACTION_REQUIRED : 0;
536 char error_type[120];
537 bool queued = false;
538 int sec_sev, i;
539 char *p;
540
541 log_arm_hw_error(err);
542
543 sec_sev = ghes_severity(gdata->error_severity);
544 if (sev != GHES_SEV_RECOVERABLE || sec_sev != GHES_SEV_RECOVERABLE)
545 return false;
546
547 p = (char *)(err + 1);
548 for (i = 0; i < err->err_info_num; i++) {
549 struct cper_arm_err_info *err_info = (struct cper_arm_err_info *)p;
550 bool is_cache = err_info->type & CPER_ARM_CACHE_ERROR;
551 bool has_pa = (err_info->validation_bits & CPER_ARM_INFO_VALID_PHYSICAL_ADDR);
552
553 /*
554 * The field (err_info->error_info & BIT(26)) is fixed to set to
555 * 1 in some old firmware of HiSilicon Kunpeng920. We assume that
556 * firmware won't mix corrected errors in an uncorrected section,
557 * and don't filter out 'corrected' error here.
558 */
559 if (is_cache && has_pa) {
560 queued = ghes_do_memory_failure(err_info->physical_fault_addr, flags);
561 p += err_info->length;
562 continue;
563 }
564
565 cper_bits_to_str(error_type, sizeof(error_type),
> 566 FIELD_GET(CPER_ARM_ERR_TYPE_MASK, err_info->type),
567 cper_proc_error_type_strs,
568 ARRAY_SIZE(cper_proc_error_type_strs));
569
570 pr_warn_ratelimited(FW_WARN GHES_PFX
571 "Unhandled processor error type 0x%02x: %s%s\n",
572 err_info->type, error_type,
573 (err_info->type & ~CPER_ARM_ERR_TYPE_MASK) ? " with reserved bit(s)" : "");
574 p += err_info->length;
575 }
576
577 return queued;
578 }
579

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki