lkml.org 
[lkml]   [2020]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/2] nvme: remove workarounds for gcc bug wrt unnamed fields in initializers
    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 <lkp@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, &param);
    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-all@lists.01.org
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2020-06-18 19:52    [W:4.602 / U:0.096 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site