mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 04:47:05 +00:00
[PATCH] qla2xxx: Correct handling of fc_remote_port_add() failure case.
Correct handling of fc_remote_port_add() failure case. Immediately return if fc_remote_port_add() fails to allocate resources for the rport. Original code would result in NULL pointer dereference upon failure. Reported-by: Michael Reed <mdr@sgi.com> Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ab998a6790
commit
50eb930a92
1 changed files with 3 additions and 1 deletions
|
@ -1914,9 +1914,11 @@ qla2x00_reg_remote_port(scsi_qla_host_t *ha, fc_port_t *fcport)
|
|||
rport_ids.roles |= FC_RPORT_ROLE_FCP_TARGET;
|
||||
|
||||
fcport->rport = rport = fc_remote_port_add(ha->host, 0, &rport_ids);
|
||||
if (!rport)
|
||||
if (!rport) {
|
||||
qla_printk(KERN_WARNING, ha,
|
||||
"Unable to allocate fc remote port!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rport->scsi_target_id != -1 && rport->scsi_target_id < MAX_TARGETS)
|
||||
fcport->os_target_id = rport->scsi_target_id;
|
||||
|
|
Loading…
Reference in a new issue