scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els()

[ Upstream commit 7fb223d0ad801f633c78cbe42b1d1b55f5d163ad ]

Commit 8c0eb596ba ("[SCSI] qla2xxx: Fix a memory leak in an error path of
qla2x00_process_els()"), intended to change:

        bsg_job->request->msgcode == FC_BSG_HST_ELS_NOLOGIN

to:

        bsg_job->request->msgcode != FC_BSG_RPT_ELS

but changed it to:

        bsg_job->request->msgcode == FC_BSG_RPT_ELS

instead.

Change the == to a != to avoid leaking the fcport structure or freeing
unallocated memory.

Link: https://lore.kernel.org/r/20211012191834.90306-2-jgu@purestorage.com
Fixes: 8c0eb596ba ("[SCSI] qla2xxx: Fix a memory leak in an error path of qla2x00_process_els()")
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Joy Gu <jgu@purestorage.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Joy Gu 2021-10-12 12:18:33 -07:00 committed by Greg Kroah-Hartman
parent 90c8e8c082
commit 96f0aebf29

View File

@ -414,7 +414,7 @@ qla2x00_process_els(struct bsg_job *bsg_job)
goto done_free_fcport; goto done_free_fcport;
done_free_fcport: done_free_fcport:
if (bsg_request->msgcode == FC_BSG_RPT_ELS) if (bsg_request->msgcode != FC_BSG_RPT_ELS)
qla2x00_free_fcport(fcport); qla2x00_free_fcport(fcport);
done: done:
return rval; return rval;