Hi Keith, kernel test robot noticed the following build errors: [auto build test ERROR on axboe-block/for-next] [also build test ERROR on next-20250626] [cannot apply to linux-nvme/for-next hch-configfs/for-next linus/master v6.16-rc3] [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/Keith-Busch/nvme-convert-metadata-mapping-to-dma-iter/20250626-044623 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20250625204445.1802483-2-kbusch%40meta.com patch subject: [PATCH 2/2] nvme: convert metadata mapping to dma iter config: i386-buildonly-randconfig-002-20250626 (https://download.01.org/0day-ci/archive/20250626/202506262128.hNOOLoxM-lkp@xxxxxxxxx/config) compiler: clang version 20.1.7 (https://github.com/llvm/llvm-project 6146a88f60492b520a36f8f8f3231e15f3cc6082) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250626/202506262128.hNOOLoxM-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/202506262128.hNOOLoxM-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): >> drivers/nvme/host/pci.c:1023:7: error: call to undeclared function 'blk_rq_integrity_dma_map_iter_start'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 1023 | if (!blk_rq_integrity_dma_map_iter_start(req, dev->dev, &iter)) | ^ drivers/nvme/host/pci.c:1023:7: note: did you mean 'blk_rq_dma_map_iter_start'? include/linux/blk-mq-dma.h:21:6: note: 'blk_rq_dma_map_iter_start' declared here 21 | bool blk_rq_dma_map_iter_start(struct request *req, struct device *dma_dev, | ^ >> drivers/nvme/host/pci.c:1041:11: error: call to undeclared function 'blk_rq_integrity_dma_map_iter_next'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 1041 | } while (blk_rq_integrity_dma_map_iter_next(req, dev->dev, &iter)); | ^ drivers/nvme/host/pci.c:3336:41: warning: shift count >= width of type [-Wshift-count-overflow] 3336 | dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); | ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:73:54: note: expanded from macro 'DMA_BIT_MASK' 73 | #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) | ^ ~~~ 1 warning and 2 errors generated. vim +/blk_rq_integrity_dma_map_iter_start +1023 drivers/nvme/host/pci.c 1012 1013 static blk_status_t nvme_pci_setup_meta_sgls(struct request *req) 1014 { 1015 struct nvme_queue *nvmeq = req->mq_hctx->driver_data; 1016 struct nvme_iod *iod = blk_mq_rq_to_pdu(req); 1017 struct nvme_dev *dev = nvmeq->dev; 1018 struct nvme_sgl_desc *sg_list; 1019 struct blk_dma_iter iter; 1020 dma_addr_t sgl_dma; 1021 int i = 0; 1022 > 1023 if (!blk_rq_integrity_dma_map_iter_start(req, dev->dev, &iter)) 1024 return iter.status; 1025 1026 sg_list = dma_pool_alloc(nvmeq->descriptor_pools.small, GFP_ATOMIC, 1027 &sgl_dma); 1028 if (!sg_list) 1029 return BLK_STS_RESOURCE; 1030 1031 iod->meta_descriptor = sg_list; 1032 iod->meta_dma = sgl_dma; 1033 1034 iod->cmd.common.flags = NVME_CMD_SGL_METASEG; 1035 iod->cmd.common.metadata = cpu_to_le64(sgl_dma); 1036 1037 sgl_dma += sizeof(*sg_list); 1038 1039 do { 1040 nvme_pci_sgl_set_data(&sg_list[++i], &iter); > 1041 } while (blk_rq_integrity_dma_map_iter_next(req, dev->dev, &iter)); 1042 1043 nvme_pci_sgl_set_seg(sg_list, sgl_dma, i); 1044 iod->nr_meta_descriptors = i; 1045 return BLK_STS_OK; 1046 } 1047 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki