public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx()
@ 2015-05-30  6:12 Roland Dreier
  2015-05-31  3:01 ` Nicholas A. Bellinger
  2015-05-31 12:54 ` Sagi Grimberg
  0 siblings, 2 replies; 3+ messages in thread
From: Roland Dreier @ 2015-05-30  6:12 UTC (permalink / raw)
  To: Nicholas A. Bellinger
  Cc: Doug Ledford, Sagi Grimberg, linux-rdma, target-devel

From: Roland Dreier <roland@purestorage.com>

We don't assign pi_ctx to desc->pi_ctx until we're certain to succeed
in the function.  That means the cleanup path should use the local
pi_ctx variable, not desc->pi_ctx.

This was detected by Coverity (CID 1260062).

Signed-off-by: Roland Dreier <roland@purestorage.com>
---
 drivers/infiniband/ulp/isert/ib_isert.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
index 327529ee85eb..3f40319a55da 100644
--- a/drivers/infiniband/ulp/isert/ib_isert.c
+++ b/drivers/infiniband/ulp/isert/ib_isert.c
@@ -547,11 +547,11 @@ isert_create_pi_ctx(struct fast_reg_descriptor *desc,
 	return 0;
 
 err_prot_mr:
-	ib_dereg_mr(desc->pi_ctx->prot_mr);
+	ib_dereg_mr(pi_ctx->prot_mr);
 err_prot_frpl:
-	ib_free_fast_reg_page_list(desc->pi_ctx->prot_frpl);
+	ib_free_fast_reg_page_list(pi_ctx->prot_frpl);
 err_pi_ctx:
-	kfree(desc->pi_ctx);
+	kfree(pi_ctx);
 
 	return ret;
 }
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx()
  2015-05-30  6:12 [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx() Roland Dreier
@ 2015-05-31  3:01 ` Nicholas A. Bellinger
  2015-05-31 12:54 ` Sagi Grimberg
  1 sibling, 0 replies; 3+ messages in thread
From: Nicholas A. Bellinger @ 2015-05-31  3:01 UTC (permalink / raw)
  To: Roland Dreier; +Cc: Doug Ledford, Sagi Grimberg, linux-rdma, target-devel

On Fri, 2015-05-29 at 23:12 -0700, Roland Dreier wrote:
> From: Roland Dreier <roland@purestorage.com>
> 
> We don't assign pi_ctx to desc->pi_ctx until we're certain to succeed
> in the function.  That means the cleanup path should use the local
> pi_ctx variable, not desc->pi_ctx.
> 
> This was detected by Coverity (CID 1260062).
> 
> Signed-off-by: Roland Dreier <roland@purestorage.com>
> ---
>  drivers/infiniband/ulp/isert/ib_isert.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
> index 327529ee85eb..3f40319a55da 100644
> --- a/drivers/infiniband/ulp/isert/ib_isert.c
> +++ b/drivers/infiniband/ulp/isert/ib_isert.c
> @@ -547,11 +547,11 @@ isert_create_pi_ctx(struct fast_reg_descriptor *desc,
>  	return 0;
>  
>  err_prot_mr:
> -	ib_dereg_mr(desc->pi_ctx->prot_mr);
> +	ib_dereg_mr(pi_ctx->prot_mr);
>  err_prot_frpl:
> -	ib_free_fast_reg_page_list(desc->pi_ctx->prot_frpl);
> +	ib_free_fast_reg_page_list(pi_ctx->prot_frpl);
>  err_pi_ctx:
> -	kfree(desc->pi_ctx);
> +	kfree(pi_ctx);
>  
>  	return ret;
>  }

Applied to target-pending/master.

Thanks Roland!

--nab

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx()
  2015-05-30  6:12 [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx() Roland Dreier
  2015-05-31  3:01 ` Nicholas A. Bellinger
@ 2015-05-31 12:54 ` Sagi Grimberg
  1 sibling, 0 replies; 3+ messages in thread
From: Sagi Grimberg @ 2015-05-31 12:54 UTC (permalink / raw)
  To: Roland Dreier, Nicholas A. Bellinger
  Cc: Doug Ledford, Sagi Grimberg, linux-rdma, target-devel

On 5/30/2015 9:12 AM, Roland Dreier wrote:
> From: Roland Dreier <roland@purestorage.com>
>
> We don't assign pi_ctx to desc->pi_ctx until we're certain to succeed
> in the function.  That means the cleanup path should use the local
> pi_ctx variable, not desc->pi_ctx.
>
> This was detected by Coverity (CID 1260062).
>
> Signed-off-by: Roland Dreier <roland@purestorage.com>
> ---
>   drivers/infiniband/ulp/isert/ib_isert.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/infiniband/ulp/isert/ib_isert.c b/drivers/infiniband/ulp/isert/ib_isert.c
> index 327529ee85eb..3f40319a55da 100644
> --- a/drivers/infiniband/ulp/isert/ib_isert.c
> +++ b/drivers/infiniband/ulp/isert/ib_isert.c
> @@ -547,11 +547,11 @@ isert_create_pi_ctx(struct fast_reg_descriptor *desc,
>   	return 0;
>
>   err_prot_mr:
> -	ib_dereg_mr(desc->pi_ctx->prot_mr);
> +	ib_dereg_mr(pi_ctx->prot_mr);
>   err_prot_frpl:
> -	ib_free_fast_reg_page_list(desc->pi_ctx->prot_frpl);
> +	ib_free_fast_reg_page_list(pi_ctx->prot_frpl);
>   err_pi_ctx:
> -	kfree(desc->pi_ctx);
> +	kfree(pi_ctx);
>
>   	return ret;
>   }
>

Acked-by: Sagi Grimberg <sagig@mellanox.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-05-31 12:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-30  6:12 [PATCH 3/3] iser-target: Fix error path in isert_create_pi_ctx() Roland Dreier
2015-05-31  3:01 ` Nicholas A. Bellinger
2015-05-31 12:54 ` Sagi Grimberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox