mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
scsi: ufs: ufshpb: Fix a NULL check on list iterator
[ Upstream commitbfb7789bcb] The list iterator is always non-NULL so the check 'if (!rgn)' is always false and the dev_err() is never called. Move the check outside the loop and determine if 'victim_rgn' is NULL, to fix this bug. Link: https://lore.kernel.org/r/20220320150733.21824-1-xiam0nd.tong@gmail.com Fixes:4b5f49079c("scsi: ufs: ufshpb: L2P map management for HPB read") Reviewed-by: Daejun Park <daejun7.park@samsung.com> Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a972c76872
commit
685f42de44
@@ -870,12 +870,6 @@ static struct ufshpb_region *ufshpb_victim_lru_info(struct ufshpb_lu *hpb)
|
||||
struct ufshpb_region *rgn, *victim_rgn = NULL;
|
||||
|
||||
list_for_each_entry(rgn, &lru_info->lh_lru_rgn, list_lru_rgn) {
|
||||
if (!rgn) {
|
||||
dev_err(&hpb->sdev_ufs_lu->sdev_dev,
|
||||
"%s: no region allocated\n",
|
||||
__func__);
|
||||
return NULL;
|
||||
}
|
||||
if (ufshpb_check_srgns_issue_state(hpb, rgn))
|
||||
continue;
|
||||
|
||||
@@ -891,6 +885,11 @@ static struct ufshpb_region *ufshpb_victim_lru_info(struct ufshpb_lu *hpb)
|
||||
break;
|
||||
}
|
||||
|
||||
if (!victim_rgn)
|
||||
dev_err(&hpb->sdev_ufs_lu->sdev_dev,
|
||||
"%s: no region allocated\n",
|
||||
__func__);
|
||||
|
||||
return victim_rgn;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user