Hi Niklas, I love your patch! Yet something to improve:
[auto build test ERROR on block/for-next] [also build test ERROR on linus/master v5.8-rc1 next-20200618] [cannot apply to hch-configfs/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Niklas-Cassel/nvme-remove-workarounds-for-gcc-bug-wrt-unnamed-fields-in-initializers/20200618-223525 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> All errors (new ones prefixed by >>): In file included from arch/m68k/include/asm/io_mm.h:25, from arch/m68k/include/asm/io.h:8, from include/linux/scatterlist.h:9, from include/linux/dma-mapping.h:11, from include/rdma/ib_verbs.h:44, from include/rdma/mr_pool.h:8, from drivers/nvme/host/rdma.c:10: arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb': arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable] 83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8' 430 | rom_out_8(port, *buf++); | ^~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw': arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16' 448 | rom_out_be16(port, *buf++); | ^~~~~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw': arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16' 466 | rom_out_le16(port, *buf++); | ^~~~~~~~~~~~ In file included from include/linux/kernel.h:11, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/nvme/host/rdma.c:7: include/linux/scatterlist.h: In function 'sg_set_buf': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/m68k/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:13, from drivers/nvme/host/rdma.c:7: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid' 170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn)) | ^~~~~~~~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/nvme/host/rdma.c: In function 'nvme_rdma_route_resolved': >> drivers/nvme/host/rdma.c:1814:20: error: 'priv' undeclared (first use in >> this function) 1814 | .private_data = &priv, | ^~~~ drivers/nvme/host/rdma.c:1814:20: note: each undeclared identifier is reported only once for each function it appears in vim +/priv +1814 drivers/nvme/host/rdma.c 1803 1804 static int nvme_rdma_route_resolved(struct nvme_rdma_queue *queue) 1805 { 1806 struct nvme_rdma_ctrl *ctrl = queue->ctrl; 1807 struct rdma_conn_param param = { 1808 .qp_num = queue->qp->qp_num, 1809 .flow_control = 1, 1810 .responder_resources = queue->device->dev->attrs.max_qp_rd_atom, 1811 /* maximum retry count */ 1812 .retry_count = 7, 1813 .rnr_retry_count = 7, > 1814 .private_data = &priv, 1815 .private_data_len = sizeof(priv), 1816 }; 1817 struct nvme_rdma_cm_req priv = { 1818 .recfmt = cpu_to_le16(NVME_RDMA_CM_FMT_1_0), 1819 .qid = cpu_to_le16(nvme_rdma_queue_idx(queue)), 1820 }; 1821 int ret; 1822 1823 /* 1824 * set the admin queue depth to the minimum size 1825 * specified by the Fabrics standard. 1826 */ 1827 if (priv.qid == 0) { 1828 priv.hrqsize = cpu_to_le16(NVME_AQ_DEPTH); 1829 priv.hsqsize = cpu_to_le16(NVME_AQ_DEPTH - 1); 1830 } else { 1831 /* 1832 * current interpretation of the fabrics spec 1833 * is at minimum you make hrqsize sqsize+1, or a 1834 * 1's based representation of sqsize. 1835 */ 1836 priv.hrqsize = cpu_to_le16(queue->queue_size); 1837 priv.hsqsize = cpu_to_le16(queue->ctrl->ctrl.sqsize); 1838 } 1839 1840 ret = rdma_connect(queue->cm_id, ¶m); 1841 if (ret) { 1842 dev_err(ctrl->ctrl.device, 1843 "rdma_connect failed (%d).\n", ret); 1844 goto out_destroy_queue_ib; 1845 } 1846 1847 return 0; 1848 1849 out_destroy_queue_ib: 1850 nvme_rdma_destroy_queue_ib(queue); 1851 return ret; 1852 } 1853 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip