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: James Smart <jsmart2021@gmail.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
237480760c
commit
34efa23234
|
@ -1243,7 +1243,8 @@ nvmet_fc_find_target_assoc(struct nvmet_fc_tgtport *tgtport,
|
||||||
list_for_each_entry(assoc, &tgtport->assoc_list, a_list) {
|
list_for_each_entry(assoc, &tgtport->assoc_list, a_list) {
|
||||||
if (association_id == assoc->association_id) {
|
if (association_id == assoc->association_id) {
|
||||||
ret = assoc;
|
ret = assoc;
|
||||||
nvmet_fc_tgt_a_get(assoc);
|
if (!nvmet_fc_tgt_a_get(assoc))
|
||||||
|
ret = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue