summaryrefslogtreecommitdiff
path: root/drivers/target
diff options
context:
space:
mode:
authorZouMingzhe <mingzhe.zou@easystack.cn>2022-01-11 13:47:42 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-16 12:52:48 +0100
commitc6a7077144ed291cfbf736875ad0fe89e6291f02 (patch)
tree09253fab372c0c7c5f56de7f2bd44f79e1350d1b /drivers/target
parent9babdef28879d2eabb95b7de172513c034e79415 (diff)
scsi: target: iscsi: Make sure the np under each tpg is unique
[ Upstream commit a861790afaa8b6369eee8a88c5d5d73f5799c0c6 ] iscsit_tpg_check_network_portal() has nested for_each loops and is supposed to return true when a match is found. However, the tpg loop will still continue after existing the tpg_np loop. If this tpg_np is not the last the match value will be changed. Break the outer loop after finding a match and make sure the np under each tpg is unique. Link: https://lore.kernel.org/r/20220111054742.19582-1-mingzhe.zou@easystack.cn Signed-off-by: ZouMingzhe <mingzhe.zou@easystack.cn> Reviewed-by: Mike Christie <michael.christie@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/target')
-rw-r--r--drivers/target/iscsi/iscsi_target_tpg.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/target/iscsi/iscsi_target_tpg.c b/drivers/target/iscsi/iscsi_target_tpg.c
index 8075f60fd02c..2d5cf1714ae0 100644
--- a/drivers/target/iscsi/iscsi_target_tpg.c
+++ b/drivers/target/iscsi/iscsi_target_tpg.c
@@ -443,6 +443,9 @@ static bool iscsit_tpg_check_network_portal(
break;
}
spin_unlock(&tpg->tpg_np_lock);
+
+ if (match)
+ break;
}
spin_unlock(&tiqn->tiqn_tpg_lock);