[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202602050741.nyI2oa7X-lkp@intel.com>
Date: Thu, 5 Feb 2026 08:01:43 +0800
From: kernel test robot <lkp@...el.com>
To: Koichiro Den <den@...inux.co.jp>, vkoul@...nel.org, mani@...nel.org,
Frank.Li@....com, jingoohan1@...il.com, lpieralisi@...nel.org,
kwilczynski@...nel.org, robh@...nel.org, bhelgaas@...gle.com
Cc: oe-kbuild-all@...ts.linux.dev, dmaengine@...r.kernel.org,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 09/11] PCI: endpoint: pci-epf-test: Add smoke test for
EPC remote resource API
Hi Koichiro,
kernel test robot noticed the following build warnings:
[auto build test WARNING on pci/next]
[also build test WARNING on next-20260204]
[cannot apply to vkoul-dmaengine/next pci/for-linus linus/master v6.19-rc8]
[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/Koichiro-Den/dmaengine-Add-hw_id-to-dma_slave_caps/20260204-230604
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20260204145440.950609-10-den%40valinux.co.jp
patch subject: [PATCH v3 09/11] PCI: endpoint: pci-epf-test: Add smoke test for EPC remote resource API
config: i386-randconfig-003-20260205 (https://download.01.org/0day-ci/archive/20260205/202602050741.nyI2oa7X-lkp@intel.com/config)
compiler: gcc-13 (Debian 13.3.0-16) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260205/202602050741.nyI2oa7X-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602050741.nyI2oa7X-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/linux/dmaengine.h:8,
from drivers/pci/endpoint/functions/pci-epf-test.c:11:
drivers/pci/endpoint/functions/pci-epf-test.c: In function 'pci_epf_test_epc_api':
>> drivers/pci/endpoint/functions/pci-epf-test.c:1012:33: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
1012 | "Invalid remote resource[%d] (type=%d phys=%pa size=%llu)\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:154:56: note: in expansion of macro 'dev_fmt'
154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/pci/endpoint/functions/pci-epf-test.c:1011:25: note: in expansion of macro 'dev_err'
1011 | dev_err(dev,
| ^~~~~~~
drivers/pci/endpoint/functions/pci-epf-test.c:1012:88: note: format string is defined here
1012 | "Invalid remote resource[%d] (type=%d phys=%pa size=%llu)\n",
| ~~~^
| |
| long long unsigned int
| %u
drivers/pci/endpoint/functions/pci-epf-test.c:1020:33: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 5 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
1020 | "Remote resource[%d] overflow (phys=%pa size=%llu)\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:154:56: note: in expansion of macro 'dev_fmt'
154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/pci/endpoint/functions/pci-epf-test.c:1019:25: note: in expansion of macro 'dev_err'
1019 | dev_err(dev,
| ^~~~~~~
drivers/pci/endpoint/functions/pci-epf-test.c:1020:81: note: format string is defined here
1020 | "Remote resource[%d] overflow (phys=%pa size=%llu)\n",
| ~~~^
| |
| long long unsigned int
| %u
vim +1012 drivers/pci/endpoint/functions/pci-epf-test.c
972
973 static void pci_epf_test_epc_api(struct pci_epf_test *epf_test,
974 struct pci_epf_test_reg *reg)
975 {
976 struct pci_epc_remote_resource *resources = NULL;
977 u32 status = le32_to_cpu(reg->status);
978 struct pci_epf *epf = epf_test->epf;
979 struct device *dev = &epf->dev;
980 struct pci_epc *epc = epf->epc;
981 int num_resources;
982 int ret, i;
983
984 num_resources = pci_epc_get_remote_resources(epc, epf->func_no,
985 epf->vfunc_no, NULL, 0);
986 if (num_resources == -EOPNOTSUPP || num_resources == 0)
987 goto out_success;
988 if (num_resources < 0)
989 goto err;
990
991 resources = kcalloc(num_resources, sizeof(*resources), GFP_KERNEL);
992 if (!resources)
993 goto err;
994
995 ret = pci_epc_get_remote_resources(epc, epf->func_no, epf->vfunc_no,
996 resources, num_resources);
997 if (ret < 0) {
998 dev_err(dev, "EPC remote resource query failed: %d\n", ret);
999 goto err_free;
1000 }
1001 if (ret > num_resources) {
1002 dev_err(dev, "EPC API returned %d resources (max %d)\n",
1003 ret, num_resources);
1004 goto err_free;
1005 }
1006
1007 for (i = 0; i < ret; i++) {
1008 struct pci_epc_remote_resource *res = &resources[i];
1009
1010 if (!res->phys_addr || !res->size) {
1011 dev_err(dev,
> 1012 "Invalid remote resource[%d] (type=%d phys=%pa size=%llu)\n",
1013 i, res->type, &res->phys_addr, res->size);
1014 goto err_free;
1015 }
1016
1017 /* Guard against address overflow */
1018 if (res->phys_addr + res->size < res->phys_addr) {
1019 dev_err(dev,
1020 "Remote resource[%d] overflow (phys=%pa size=%llu)\n",
1021 i, &res->phys_addr, res->size);
1022 goto err_free;
1023 }
1024
1025 switch (res->type) {
1026 case PCI_EPC_RR_DMA_CTRL_MMIO:
1027 /* Generic checks above are sufficient. */
1028 break;
1029 case PCI_EPC_RR_DMA_CHAN_DESC:
1030 /*
1031 * hw_chan_id and ep2rc are informational. No extra validation
1032 * beyond the generic checks above is needed.
1033 */
1034 break;
1035 default:
1036 dev_err(dev, "Unknown remote resource type %d\n", res->type);
1037 goto err_free;
1038 }
1039 }
1040
1041 out_success:
1042 kfree(resources);
1043 status |= STATUS_EPC_API_SUCCESS;
1044 reg->status = cpu_to_le32(status);
1045 return;
1046
1047 err_free:
1048 kfree(resources);
1049 err:
1050 status |= STATUS_EPC_API_FAIL;
1051 reg->status = cpu_to_le32(status);
1052 }
1053
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists