Commit 34efa232 authored by James Smart's avatar James Smart Committed by Christoph Hellwig
Browse files

nvmet-fc: check successful reference in nvmet_fc_find_target_assoc



When searching for an association based on an association id, when there
is a match, the code takes a reference. However, it is not validating
that the reference taking was successful.

Check the status of the reference. If unsuccessful, the device is being
deleted and should be ignored.

Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 23748076
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1243,7 +1243,8 @@ nvmet_fc_find_target_assoc(struct nvmet_fc_tgtport *tgtport,
	list_for_each_entry(assoc, &tgtport->assoc_list, a_list) {
		if (association_id == assoc->association_id) {
			ret = assoc;
			nvmet_fc_tgt_a_get(assoc);
			if (!nvmet_fc_tgt_a_get(assoc))
				ret = NULL;
			break;
		}
	}