2012-11-05 06:16:59

by Xi Wang

[permalink] [raw]
Subject: [PATCH] [SCSI] bnx2fc: fix NULL checking in bnx2fc_initiate_tmf()

The dereference rport->data should come after the NULL check of rport.

Signed-off-by: Xi Wang <[email protected]>
---
drivers/scsi/bnx2fc/bnx2fc_io.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index 8d4626c..eebe93c 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -686,7 +686,7 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 tm_flags)
{
struct fc_lport *lport;
struct fc_rport *rport = starget_to_rport(scsi_target(sc_cmd->device));
- struct fc_rport_libfc_priv *rp = rport->dd_data;
+ struct fc_rport_libfc_priv *rp;
struct fcoe_port *port;
struct bnx2fc_interface *interface;
struct bnx2fc_rport *tgt;
@@ -712,6 +712,7 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 tm_flags)
rc = FAILED;
goto tmf_err;
}
+ rp = rport->dd_data;

rc = fc_block_scsi_eh(sc_cmd);
if (rc)
--
1.7.10.4


2012-11-05 21:37:20

by Bhanu Prakash Gollapudi

[permalink] [raw]
Subject: Re: [PATCH] [SCSI] bnx2fc: fix NULL checking in bnx2fc_initiate_tmf()

On 11/04/2012 10:15 PM, Xi Wang wrote:
> The dereference rport->data should come after the NULL check of rport.
>
> Signed-off-by: Xi Wang <[email protected]>
> ---
> drivers/scsi/bnx2fc/bnx2fc_io.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
> index 8d4626c..eebe93c 100644
> --- a/drivers/scsi/bnx2fc/bnx2fc_io.c
> +++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
> @@ -686,7 +686,7 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 tm_flags)
> {
> struct fc_lport *lport;
> struct fc_rport *rport = starget_to_rport(scsi_target(sc_cmd->device));
> - struct fc_rport_libfc_priv *rp = rport->dd_data;
> + struct fc_rport_libfc_priv *rp;
> struct fcoe_port *port;
> struct bnx2fc_interface *interface;
> struct bnx2fc_rport *tgt;
> @@ -712,6 +712,7 @@ static int bnx2fc_initiate_tmf(struct scsi_cmnd *sc_cmd, u8 tm_flags)
> rc = FAILED;
> goto tmf_err;
> }
> + rp = rport->dd_data;
>
> rc = fc_block_scsi_eh(sc_cmd);
> if (rc)
I thought I acked similar patch sometime back, but this did not make it
to the tree yet.

doing it again. Thanks!

Acked-by: Bhanu Prakash Gollapudi <[email protected]>