Hello Doug, As we all know there are several static analysis tools available for the Linux kernel and these tools are valuable. I'm referring to increasing the gcc warning level (W=1), sparse and smatch. It is helpful to analyze new code with these tools before submitting a patch. These tools are most useful if existing code is clean. Hence this patch series that significantly reduces the number of complaints reported by static analysis tools. Please consider this patch series for kernel v4.15. Thanks, Bart. Bart Van Assche (47): IB/core: Fix endianness annotation in rdma_is_multicast_addr() IB/cm: Suppress gcc 7 fall-through complaints RDMA/cma: Avoid triggering undefined behavior RDMA/iwcm: Remove a set-but-not-used variable RDMA/uverbs: Make the code in ib_uverbs_cmd_verbs() less confusing RDMA/isert: Suppress gcc 7 fall-through complaints RDMA/bnxt_re: Suppress gcc 7 fall-through complaints RDMA/bnxt_re: Remove set-but-not-used variables RDMA/cxgb3: Annotate locking assumptions RDMA/cxgb3: Annotate an RCU pointer RDMA/cxgb3: Remove a set-but-not-used variable RDMA/cxgb4: Fix indentation RDMA/cxgb4: Declare a local variable 'static' RDMA/cxgb4: Suppress gcc 7 fall-through complaints RDMA/cxgb4: Remove a set-but-not-used variable IB/hfi1: Suppress gcc 7 fall-through complaints IB/hfi1: Remove set-but-not-used variables IB/hfi1: Define hfi1_handle_cnp_tbl[] once IB/hns: Annotate iomem pointers correctly IB/hns: Declare local functions 'static' RDMA/i40iw: Fix a race condition RDMA/i40iw: Suppress gcc 7 fall-through complaints RDMA/i40iw: Remove a set-but-not-used variable IB/mthca: Fix indentation IB/mlx4: Suppress gcc 7 fall-through complaints IB/mlx5: Suppress gcc 7 fall-through complaints IB/mlx5: Remove a set-but-not-used variable IB/nes: Fix indentation IB/nes: Suppress gcc 7 fall-through complaints IB/nes: Remove set-but-not-used variables IB/nes: Fix a race condition in nes_inetaddr_event() RDMA/ocrdma: Use NULL instead of 0 to represent a pointer RDMA/ocrdma: Suppress gcc 7 fall-through complaints RDMA/ocrdma: Remove set-but-not-used variables IB/opa: Fix endianness annotation of opa_is_extended_lid() RDMA/qedr: Use NULL instead of 0 to represent a pointer RDMA/qedr: Declare local functions static RDMA/qedr: Annotate iomem pointers correctly RDMA/qedr: Remove set-but-not-used variables IB/qib: Make qib_inc_eeprom_err() macro more safe to use IB/qib: Suppress gcc 7 fall-through complaints IB/qib: Remove set-but-not-used variables RDMA/rdmavt: Suppress gcc 7 fall-through complaints RDMA/rxe: Suppress gcc 7 fall-through complaints RDMA/usnic: Make the compiler check declaration consistency during compilation RDMA/usnic: Remove a set-but-not-used variable RDMA/usnic: Instantiate data structures once drivers/infiniband/core/cm.c | 1 + drivers/infiniband/core/cma.c | 11 ++-- drivers/infiniband/core/iwcm.c | 3 -- drivers/infiniband/core/uverbs_ioctl.c | 20 ++++---- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 12 ++--- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 7 +-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 4 -- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 5 +- drivers/infiniband/hw/cxgb3/iwch_cm.c | 6 +-- drivers/infiniband/hw/cxgb3/iwch_qp.c | 3 ++ drivers/infiniband/hw/cxgb4/cm.c | 14 +++-- drivers/infiniband/hw/cxgb4/device.c | 4 +- drivers/infiniband/hw/hfi1/driver.c | 6 +++ drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/hfi.h | 5 -- drivers/infiniband/hw/hfi1/mad.c | 3 +- drivers/infiniband/hw/hfi1/rc.c | 2 +- drivers/infiniband/hw/hfi1/ruc.c | 9 ---- drivers/infiniband/hw/hfi1/sdma.c | 5 +- drivers/infiniband/hw/hfi1/ud.c | 2 - drivers/infiniband/hw/hfi1/verbs.c | 10 ---- drivers/infiniband/hw/hns/hns_roce_eq.c | 6 +-- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 73 +++++++++++++++------------ drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 3 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 3 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 1 + drivers/infiniband/hw/i40iw/i40iw_puda.c | 1 + drivers/infiniband/hw/i40iw/i40iw_utils.c | 13 +++-- drivers/infiniband/hw/mlx4/cq.c | 2 + drivers/infiniband/hw/mlx4/mcg.c | 1 + drivers/infiniband/hw/mlx5/cq.c | 2 + drivers/infiniband/hw/mlx5/qp.c | 3 +- drivers/infiniband/hw/mthca/mthca_main.c | 10 ++-- drivers/infiniband/hw/nes/nes.c | 33 +++++++----- drivers/infiniband/hw/nes/nes_cm.c | 9 +--- drivers/infiniband/hw/nes/nes_hw.c | 6 +-- drivers/infiniband/hw/nes/nes_nic.c | 10 ++-- drivers/infiniband/hw/nes/nes_utils.c | 13 +++-- drivers/infiniband/hw/nes/nes_verbs.c | 12 ++--- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 6 +-- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 +- drivers/infiniband/hw/qedr/main.c | 24 ++++----- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 14 ++--- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 29 +++++------ drivers/infiniband/hw/qedr/verbs.c | 9 +--- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/qib/qib_diag.c | 6 --- drivers/infiniband/hw/qib/qib_file_ops.c | 9 ---- drivers/infiniband/hw/qib/qib_iba6120.c | 2 - drivers/infiniband/hw/qib/qib_iba7220.c | 3 -- drivers/infiniband/hw/qib/qib_iba7322.c | 15 ++---- drivers/infiniband/hw/qib/qib_mad.c | 4 +- drivers/infiniband/hw/qib/qib_pcie.c | 3 +- drivers/infiniband/hw/qib/qib_rc.c | 2 +- drivers/infiniband/hw/qib/qib_sd7220.c | 2 - drivers/infiniband/hw/qib/qib_sdma.c | 2 +- drivers/infiniband/hw/qib/qib_tx.c | 4 -- drivers/infiniband/hw/qib/qib_verbs.c | 3 +- drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 2 - drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h | 25 +-------- drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 + drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 25 +++++++++ drivers/infiniband/sw/rdmavt/qp.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 4 +- drivers/infiniband/sw/rxe/rxe_task.c | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 1 + drivers/infiniband/ulp/isert/ib_isert.c | 14 ++--- drivers/net/ethernet/chelsio/cxgb3/t3cdev.h | 2 +- include/rdma/ib_addr.h | 4 +- include/rdma/opa_addr.h | 2 +- 70 files changed, 252 insertions(+), 311 deletions(-) -- 2.14.2 -- 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