Hi Keith, kernel test robot noticed the following build warnings: [auto build test WARNING on axboe-block/for-next] [cannot apply to linux-nvme/for-next hch-configfs/for-next linus/master v6.16-rc7 next-20250718] [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/blk-mq-dma-move-the-bio-and-bvec_iter-to-blk_dma_iter/20250721-024616 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20250720184040.2402790-7-kbusch%40meta.com patch subject: [PATCHv2 6/7] blk-mq-dma: add support for mapping integrity metadata config: riscv-randconfig-001-20250721 (https://download.01.org/0day-ci/archive/20250721/202507211037.lzkMQLrY-lkp@xxxxxxxxx/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 16534d19bf50bde879a83f0ae62875e2c5120e64) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250721/202507211037.lzkMQLrY-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/202507211037.lzkMQLrY-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from block/blk-mq.c:13: >> include/linux/blk-integrity.h:117:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_start' [-Wmissing-prototypes] 117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req, | ^ include/linux/blk-integrity.h:117:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req, | ^ | static >> include/linux/blk-integrity.h:123:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_next' [-Wmissing-prototypes] 123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req, | ^ include/linux/blk-integrity.h:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req, | ^ | static 2 warnings generated. -- In file included from block/blk-mq-dma.c:5: >> include/linux/blk-integrity.h:117:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_start' [-Wmissing-prototypes] 117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req, | ^ include/linux/blk-integrity.h:117:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 117 | bool blk_rq_integrity_dma_map_iter_start(struct request *req, | ^ | static >> include/linux/blk-integrity.h:123:6: warning: no previous prototype for function 'blk_rq_integrity_dma_map_iter_next' [-Wmissing-prototypes] 123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req, | ^ include/linux/blk-integrity.h:123:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 123 | bool blk_rq_integrity_dma_map_iter_next(struct request *req, | ^ | static block/blk-mq-dma.c:23:27: error: no member named 'bi_integrity' in 'struct bio' 23 | iter->iter = iter->bio->bi_integrity->bip_iter; | ~~~~~~~~~ ^ block/blk-mq-dma.c:24:27: error: no member named 'bi_integrity' in 'struct bio' 24 | iter->bvec = iter->bio->bi_integrity->bip_vec; | ~~~~~~~~~ ^ 2 warnings and 2 errors generated. vim +/blk_rq_integrity_dma_map_iter_start +117 include/linux/blk-integrity.h 90 91 /* 92 * Return the current bvec that contains the integrity data. bip_iter may be 93 * advanced to iterate over the integrity data. 94 */ 95 static inline struct bio_vec rq_integrity_vec(struct request *rq) 96 { 97 return mp_bvec_iter_bvec(rq->bio->bi_integrity->bip_vec, 98 rq->bio->bi_integrity->bip_iter); 99 } 100 #else /* CONFIG_BLK_DEV_INTEGRITY */ 101 static inline int blk_rq_count_integrity_sg(struct request_queue *q, 102 struct bio *b) 103 { 104 return 0; 105 } 106 static inline int blk_rq_map_integrity_sg(struct request *q, 107 struct scatterlist *s) 108 { 109 return 0; 110 } 111 static inline int blk_rq_integrity_map_user(struct request *rq, 112 void __user *ubuf, 113 ssize_t bytes) 114 { 115 return -EINVAL; 116 } > 117 bool blk_rq_integrity_dma_map_iter_start(struct request *req, 118 struct device *dma_dev, struct dma_iova_state *state, 119 struct blk_dma_iter *iter) 120 { 121 return false; 122 } > 123 bool blk_rq_integrity_dma_map_iter_next(struct request *req, 124 struct device *dma_dev, struct blk_dma_iter *iter) 125 { 126 return false; 127 } 128 static inline struct blk_integrity *bdev_get_integrity(struct block_device *b) 129 { 130 return NULL; 131 } 132 static inline struct blk_integrity *blk_get_integrity(struct gendisk *disk) 133 { 134 return NULL; 135 } 136 static inline bool 137 blk_integrity_queue_supports_integrity(struct request_queue *q) 138 { 139 return false; 140 } 141 static inline unsigned short 142 queue_max_integrity_segments(const struct request_queue *q) 143 { 144 return 0; 145 } 146 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki