Hi Muneendra, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc1 next-20180418] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/muneendra-kumar-broadcom-com/RDMA-over-Fibre-Channel/20180418-221507 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/nvme/target/io-cmd.c:39:5: sparse: symbol 'set_fc_rdma_done_fn' was not declared. Should it be static? drivers/nvme/target/io-cmd.c:116:53: sparse: expression using sizeof(void) -- drivers/nvme/target/fc.c:1029:30: sparse: expression using sizeof(void) >> drivers/nvme/target/fc.c:1711:5: sparse: symbol 'get_rdma_sgl_fn' was not declared. Should it be static? drivers/nvme/target/fc.c:1947:16: sparse: expression using sizeof(void) drivers/nvme/target/fc.c:1947:16: sparse: expression using sizeof(void) -- >> drivers/infiniband/sw/rfc/rfc.c:305:21: sparse: expression using sizeof(void) -- >> drivers/infiniband/sw/rfc/rfc_comp.c:115:16: sparse: expression using sizeof(void) -- >> drivers/infiniband/sw/rfc/rfc_resp.c:658:19: sparse: expression using sizeof(void) >> drivers/infiniband/sw/rfc/rfc_resp.c:658:19: sparse: expression using sizeof(void) >> drivers/infiniband/sw/rfc/rfc_resp.c:702:13: sparse: symbol 'ackpage' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_resp.c:884:48: sparse: restricted __be16 degrades to integer In file included from drivers/infiniband/sw/rfc/rfc.h:61:0, from drivers/infiniband/sw/rfc/rfc_resp.c:36: drivers/infiniband/sw/rfc/rfc_resp.c: In function 'send_ack': drivers/infiniband/sw/rfc/rfc_loc.h:274:5: warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized] if (err) { ^ drivers/infiniband/sw/rfc/rfc_loc.h:258:6: note: 'err' was declared here int err; ^~~ -- >> drivers/infiniband/sw/rfc/rfc_recv.c:89:37: sparse: expression using sizeof(void) -- >> drivers/infiniband/sw/rfc/rfc_qp.c:44:6: sparse: symbol 'rfc_qp_state_name' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_qp.c:253:20: sparse: expression using sizeof(void) >> drivers/infiniband/sw/rfc/rfc_qp.c:253:20: sparse: expression using sizeof(void) -- >> drivers/infiniband/sw/rfc/rfc_mr.c:307:6: sparse: symbol 'rfc_lookup_iova' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc.h:80:9: sparse: Variable length array is used. -- >> drivers/infiniband/sw/rfc/rfc_net.c:70:19: sparse: symbol 'rfc_net_dev' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_net.c:77:18: sparse: symbol 'skb_blk_push_list' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_net.c:89:20: sparse: symbol 'net_blk_work' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_net.c:110:28: sparse: cast from restricted __be32 -- >> drivers/infiniband/sw/rfc/rfc_obj.c:53:29: sparse: Using plain integer as NULL pointer >> drivers/infiniband/sw/rfc/rfc_obj.c:53:21: sparse: symbol 'g_cb' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_obj.c:88:16: sparse: symbol 'get_rfc_by_objname' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_obj.c:520:27: sparse: incorrect type in assignment (different base types) @@ expected restricted __be16 [addressable] [assigned] [usertype] pkey @@ got sable] [assigned] [usertype] pkey @@ drivers/infiniband/sw/rfc/rfc_obj.c:520:27: expected restricted __be16 [addressable] [assigned] [usertype] pkey drivers/infiniband/sw/rfc/rfc_obj.c:520:27: got restricted __le16 [usertype] <noident> >> drivers/infiniband/sw/rfc/rfc_obj.c:142:6: sparse: symbol 'print_sgl' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_obj.c:230:5: sparse: symbol 'rfc_send_data_free' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast to restricted __le16 >> drivers/infiniband/sw/rfc/rfc_obj.c:594:30: sparse: cast from restricted __be16 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn >> drivers/infiniband/sw/rfc/rfc_obj.c:644:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:672:23: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [unsigned] [usertype] protocol @@ got ed int [unsigned] [usertype] protocol @@ drivers/infiniband/sw/rfc/rfc_obj.c:672:23: expected unsigned int [unsigned] [usertype] protocol drivers/infiniband/sw/rfc/rfc_obj.c:672:23: got restricted __be16 [usertype] <noident> >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 >> drivers/infiniband/sw/rfc/rfc_obj.c:617:21: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __be32unsigned int @@ drivers/infiniband/sw/rfc/rfc_obj.c:617:21: expected unsigned int drivers/infiniband/sw/rfc/rfc_obj.c:617:21: got restricted __be32 [usertype] qpn drivers/infiniband/sw/rfc/rfc_obj.c:716:15: sparse: cast to restricted __be32 drivers/infiniband/sw/rfc/rfc_obj.c:743:31: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [unsigned] [usertype] protocol @@ got ed int [unsigned] [usertype] protocol @@ drivers/infiniband/sw/rfc/rfc_obj.c:743:31: expected unsigned int [unsigned] [usertype] protocol drivers/infiniband/sw/rfc/rfc_obj.c:743:31: got restricted __be16 [usertype] <noident> -- >> drivers/infiniband/sw/rfc/rfc_tb.c:81:20: sparse: symbol 'rfcwork' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_tb.c:93:21: sparse: symbol 'rfc_obj_list' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_tb.c:115:18: sparse: symbol 'rdma_dev_list' was not declared. Should it be static? >> drivers/infiniband/sw/rfc/rfc_tb.c:136:19: sparse: cast removes address space of expression >> drivers/infiniband/sw/rfc/rfc_tb.c:149:32: sparse: incorrect type in assignment (different base types) @@ expected int [signed] ipaddr @@ got restricted __be3int [signed] ipaddr @@ drivers/infiniband/sw/rfc/rfc_tb.c:149:32: expected int [signed] ipaddr drivers/infiniband/sw/rfc/rfc_tb.c:149:32: got restricted __be32 [usertype] ifa_address >> drivers/infiniband/sw/rfc/rfc_tb.c:240:32: sparse: Using plain integer as NULL pointer drivers/infiniband/sw/rfc/rfc_tb.c:268:24: sparse: Using plain integer as NULL pointer drivers/infiniband/sw/rfc/rfc_tb.c:274:24: sparse: Using plain integer as NULL pointer >> drivers/infiniband/sw/rfc/rfc_tb.c:365:9: sparse: expression using sizeof(void) >> drivers/infiniband/sw/rfc/rfc_tb.c:365:9: sparse: expression using sizeof(void) include/linux/bvec.h:82:37: sparse: expression using sizeof(void) include/linux/bvec.h:82:37: sparse: expression using sizeof(void) include/linux/bvec.h:83:32: sparse: expression using sizeof(void) include/linux/bvec.h:83:32: sparse: expression using sizeof(void) >> drivers/infiniband/sw/rfc/rfc_tb.c:409:44: sparse: incorrect type in argument 2 (different base types) @@ expected restricted blk_status_t [usertype] error @@ got blk_status_t [usertype] error @@ drivers/infiniband/sw/rfc/rfc_tb.c:409:44: expected restricted blk_status_t [usertype] error drivers/infiniband/sw/rfc/rfc_tb.c:409:44: got int [signed] [assigned] ret >> drivers/infiniband/sw/rfc/rfc_tb.c:521:41: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [unsigned] [usertype] ipaddr @@ got ed int [unsigned] [usertype] ipaddr @@ drivers/infiniband/sw/rfc/rfc_tb.c:521:41: expected unsigned int [unsigned] [usertype] ipaddr drivers/infiniband/sw/rfc/rfc_tb.c:521:41: got restricted __be32 [usertype] ipaddr >> drivers/infiniband/sw/rfc/rfc_tb.c:545:33: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [addressable] [assigned] [usertype] nsid @@ got e] nsid @@ drivers/infiniband/sw/rfc/rfc_tb.c:545:33: expected restricted __le32 [addressable] [assigned] [usertype] nsid drivers/infiniband/sw/rfc/rfc_tb.c:545:33: got int >> drivers/infiniband/sw/rfc/rfc_tb.c:422:23: sparse: context imbalance in 'nvme_get_ns_from_disk' - wrong count at exit >> drivers/infiniband/sw/rfc/rfc_tb.c:440:33: sparse: context imbalance in 'nvme_put_ns_from_disk' - unexpected unlock Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html