Re: [PATCHv3 pci-next 2/2] PCI/AER: Rate limit the reporting of the correctable errors

From: kernel test robot
Date: Tue Jun 06 2023 - 05:50:59 EST


Hi Grant,

kernel test robot noticed the following build errors:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus linus/master v6.4-rc5 next-20230606]
[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/Grant-Grundler/PCI-AER-Rate-limit-the-reporting-of-the-correctable-errors/20230606-115515
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20230606035442.2886343-2-grundler%40chromium.org
patch subject: [PATCHv3 pci-next 2/2] PCI/AER: Rate limit the reporting of the correctable errors
config: x86_64-randconfig-x051-20230606 (https://download.01.org/0day-ci/archive/20230606/202306061710.tDjm3jHD-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project.git 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
reproduce (this is a W=1 build):
mkdir -p ~/bin
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add pci https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git
git fetch pci next
git checkout pci/next
b4 shazam https://lore.kernel.org/r/20230606035442.2886343-2-grundler@xxxxxxxxxxxx
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/pci/pcie/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306061710.tDjm3jHD-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

>> drivers/pci/pcie/aer.c:717:30: error: expected ';' after expression
pci_err(dev, "%s", aer_msg):
^
;
>> drivers/pci/pcie/aer.c:746:28: warning: data argument not used by format string [-Wformat-extra-args]
aer_error_layer[layer], aer_agent_string[agent],
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/pci.h:2600:65: note: expanded from macro 'pci_err'
#define pci_err(pdev, fmt, arg...) dev_err(&(pdev)->dev, fmt, ##arg)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
_p_func(dev, fmt, ##__VA_ARGS__); \
~~~ ^
1 warning and 1 error generated.


vim +717 drivers/pci/pcie/aer.c

684
685 static void __aer_print_error(struct pci_dev *dev,
686 struct aer_err_info *info)
687 {
688 const char **strings;
689 char aer_msg[512];
690 unsigned long status = info->status & ~info->mask;
691 int i;
692
693 memset(aer_msg, 0, sizeof(*aer_msg));
694 snprintf(aer_msg, sizeof(*aer_msg), "aer_status: 0x%08x, aer_mask: 0x%08x\n",
695 info->status, info->mask);
696
697 strings = (info->severity == AER_CORRECTABLE) ?
698 aer_correctable_error_string : aer_uncorrectable_error_string;
699
700 for_each_set_bit(i, &status, 32) {
701 const char *errmsg = strings[i];
702 char bitmsg[64];
703 memset(bitmsg, 0, sizeof(*bitmsg));
704
705 if (!errmsg)
706 errmsg = "Unknown Error Bit";
707
708 snprintf(bitmsg, sizeof(*bitmsg), " [%2d] %-22s%s\n", i, errmsg,
709 info->first_error == i ? " (First)" : "");
710
711 strlcat(aer_msg, bitmsg, sizeof(*aer_msg));
712 }
713
714 if (info->severity == AER_CORRECTABLE)
715 pci_info_ratelimited(dev, "%s", aer_msg);
716 else
> 717 pci_err(dev, "%s", aer_msg):
718
719 pci_dev_aer_stats_incr(dev, info);
720 }
721
722 void aer_print_error(struct pci_dev *dev, struct aer_err_info *info)
723 {
724 int layer, agent;
725 int id = ((dev->bus->number << 8) | dev->devfn);
726
727 if (!info->status) {
728 pci_err(dev, "PCIe Bus Error: severity=%s, type=Inaccessible, (Unregistered Agent ID)\n",
729 aer_error_severity_string[info->severity]);
730 goto out;
731 }
732
733 layer = AER_GET_LAYER_ERROR(info->severity, info->status);
734 agent = AER_GET_AGENT(info->severity, info->status);
735
736 if (info->severity == AER_CORRECTABLE) {
737 pci_info_ratelimited(dev, "PCIe Bus Error: severity=%s, type=%s, (%s)\n"
738 " device [%04x:%04x] error status/mask=%08x/%08x\n",
739 aer_error_severity_string[info->severity],
740 aer_error_layer[layer], aer_agent_string[agent],
741 dev->vendor, dev->device, info->status, info->mask);
742 } else {
743 pci_err(dev, "PCIe Bus Error: severity=%s, type=%s, (%s)\n",
744 " device [%04x:%04x] error status/mask=%08x/%08x\n",
745 aer_error_severity_string[info->severity],
> 746 aer_error_layer[layer], aer_agent_string[agent],
747 dev->vendor, dev->device, info->status, info->mask);
748 }
749
750 __aer_print_error(dev, info);
751
752 if (info->tlp_header_valid)
753 __print_tlp_header(dev, &info->tlp);
754
755 out:
756 if (info->id && info->error_dev_num > 1 && info->id == id)
757 pci_err(dev, " Error of this Agent is reported first\n");
758
759 trace_aer_event(dev_name(&dev->dev), (info->status & ~info->mask),
760 info->severity, info->tlp_header_valid, &info->tlp);
761 }
762

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