diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2011-12-20 21:54:30 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-01-10 18:01:23 -0500 |
commit | 6bc6204e3b7f4ac235e98e362714213369d6a012 (patch) | |
tree | e390f206bf9583446e22ab70408f5f70c2e4a08c /drivers/scsi/bfa | |
parent | f1633011e4fcb65bf65aebeaf4024efdc4c49d6e (diff) |
[SCSI] bfa: Fix possible NULL pointer dereference in lunmask add/delete.
Patch fixes the possible NULL pointer dereference when we try to add or delete
a rpwwn to the lunmask config which is not zoned to this port. Check if the
FCS rport is not NULL before de-referencing it.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa')
-rw-r--r-- | drivers/scsi/bfa/bfa_fcpim.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/bfa/bfa_fcpim.c b/drivers/scsi/bfa/bfa_fcpim.c index e07bd4745d8b..846f15b6e1d8 100644 --- a/drivers/scsi/bfa/bfa_fcpim.c +++ b/drivers/scsi/bfa/bfa_fcpim.c | |||
@@ -2647,7 +2647,8 @@ bfa_fcpim_lunmask_add(struct bfa_s *bfa, u16 vf_id, wwn_t *pwwn, | |||
2647 | if (port) { | 2647 | if (port) { |
2648 | *pwwn = port->port_cfg.pwwn; | 2648 | *pwwn = port->port_cfg.pwwn; |
2649 | rp_fcs = bfa_fcs_lport_get_rport_by_pwwn(port, rpwwn); | 2649 | rp_fcs = bfa_fcs_lport_get_rport_by_pwwn(port, rpwwn); |
2650 | rp = rp_fcs->bfa_rport; | 2650 | if (rp_fcs) |
2651 | rp = rp_fcs->bfa_rport; | ||
2651 | } | 2652 | } |
2652 | 2653 | ||
2653 | lunm_list = bfa_get_lun_mask_list(bfa); | 2654 | lunm_list = bfa_get_lun_mask_list(bfa); |
@@ -2715,7 +2716,8 @@ bfa_fcpim_lunmask_delete(struct bfa_s *bfa, u16 vf_id, wwn_t *pwwn, | |||
2715 | if (port) { | 2716 | if (port) { |
2716 | *pwwn = port->port_cfg.pwwn; | 2717 | *pwwn = port->port_cfg.pwwn; |
2717 | rp_fcs = bfa_fcs_lport_get_rport_by_pwwn(port, rpwwn); | 2718 | rp_fcs = bfa_fcs_lport_get_rport_by_pwwn(port, rpwwn); |
2718 | rp = rp_fcs->bfa_rport; | 2719 | if (rp_fcs) |
2720 | rp = rp_fcs->bfa_rport; | ||
2719 | } | 2721 | } |
2720 | } | 2722 | } |
2721 | 2723 | ||