diff mbox

[2/3] IPoIB: Avoid reading an uninitialized member variable

Message ID fd4a2913-545e-bf2f-e352-a47fd50a954f@sandisk.com (mailing list archive)
State Accepted
Headers show

Commit Message

Bart Van Assche Nov. 21, 2016, 6:21 p.m. UTC
This patch avoids that Coverity reports the following:

    Using uninitialized value port_attr.state when calling printk

Fixes: commit 94232d9ce817 ("IPoIB: Start multicast join process only on active ports")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Erez Shitrit <erezsh@mellanox.com>
Cc: <stable@vger.kernel.org>
---
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Comments

Leon Romanovsky Nov. 22, 2016, 7:15 a.m. UTC | #1
On Mon, Nov 21, 2016 at 10:21:41AM -0800, Bart Van Assche wrote:
> This patch avoids that Coverity reports the following:
>
>     Using uninitialized value port_attr.state when calling printk
>
> Fixes: commit 94232d9ce817 ("IPoIB: Start multicast join process only on active ports")
> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
> Cc: Erez Shitrit <erezsh@mellanox.com>
> Cc: <stable@vger.kernel.org>

Except that it doesn't print the reason why ib_query_port failed,
it look good.
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>

Thanks

> ---
>  drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
> index 1909dd2..fddff40 100644
> --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
> +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
> @@ -575,8 +575,11 @@ void ipoib_mcast_join_task(struct work_struct *work)
>  	if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags))
>  		return;
>
> -	if (ib_query_port(priv->ca, priv->port, &port_attr) ||
> -	    port_attr.state != IB_PORT_ACTIVE) {
> +	if (ib_query_port(priv->ca, priv->port, &port_attr)) {
> +		ipoib_dbg(priv, "ib_query_port() failed\n");
> +		return;
> +	}
> +	if (port_attr.state != IB_PORT_ACTIVE) {
>  		ipoib_dbg(priv, "port state is not ACTIVE (state = %d) suspending join task\n",
>  			  port_attr.state);
>  		return;
> --
> 2.10.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index 1909dd2..fddff40 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -575,8 +575,11 @@  void ipoib_mcast_join_task(struct work_struct *work)
 	if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags))
 		return;
 
-	if (ib_query_port(priv->ca, priv->port, &port_attr) ||
-	    port_attr.state != IB_PORT_ACTIVE) {
+	if (ib_query_port(priv->ca, priv->port, &port_attr)) {
+		ipoib_dbg(priv, "ib_query_port() failed\n");
+		return;
+	}
+	if (port_attr.state != IB_PORT_ACTIVE) {
 		ipoib_dbg(priv, "port state is not ACTIVE (state = %d) suspending join task\n",
 			  port_attr.state);
 		return;