• Bart Van Assche's avatar
    IB/cma: Make the code easier to verify · 37e07cda
    Bart Van Assche authored
    Static source code analysis tools like smatch cannot handle functions
    that lock or not lock a mutex depending on the value of the arguments.
    Hence inline the function cma_disable_callback(). Additionally, this
    patch realizes a small performance optimization by reducing the number of
    mutex_lock() and mutex_unlock() calls in the modified functions. With
    this patch applied smatch no longer complains about source file cma.c.
    Without this patch smatch reports the following for this source file:
    
    drivers/infiniband/core/cma.c:1959: cma_req_handler() warn: inconsistent returns 'mutex:&listen_id->handler_mutex'.
      Locked on:   line 1880
                   line 1959
      Unlocked on: line 1941
    drivers/infiniband/core/cma.c:2112: iw_conn_req_handler() warn: inconsistent returns 'mutex:&listen_id->handler_mutex'.
      Locked on:   line 2048
      Unlocked on: line 2112
    Signed-off-by: default avatarBart Van Assche <bart.vanassche@sandisk.com>
    Cc: Sean Hefty <sean.hefty@intel.com>
    Cc: Steve Wise <swise@opengridcomputing.com>
    Cc: Leon Romanovsky <leonro@mellanox.com>
    Acked-by: default avatarSean Hefty <sean.hefty@intel.com>
    Reviewed-by: default avatarSteve Wise <swise@opengridcomputing.com>
    Reviewed-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    37e07cda
cma.c 110 KB