Skip to content

Commit d4026a4

Browse files
liming011davejiang
authored andcommitted
cxl/hdm: Fix potential infinite loop in __cxl_dpa_reserve()
In __cxl_dpa_reserve(), it will check if the new resource range is included in one of paritions of the cxl memory device. cxlds->nr_paritions is used to represent how many partitions information the cxl memory device has. In the loop, if driver cannot find a partition including the new resource range, it will be an infinite loop. [ dj: Removed incorrect fixes tag ] Fixes: 991d98f ("cxl: Make cxl_dpa_alloc() DPA partition number agnostic") Signed-off-by: Li Ming <ming.li@zohomail.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Link: https://patch.msgid.link/20260112120526.530232-1-ming.li@zohomail.com Signed-off-by: Dave Jiang <dave.jiang@intel.com>
1 parent 49d1063 commit d4026a4

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/cxl/core/hdm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ static int __cxl_dpa_reserve(struct cxl_endpoint_decoder *cxled,
403403
* is not set.
404404
*/
405405
if (cxled->part < 0)
406-
for (int i = 0; cxlds->nr_partitions; i++)
406+
for (int i = 0; i < cxlds->nr_partitions; i++)
407407
if (resource_contains(&cxlds->part[i].res, res)) {
408408
cxled->part = i;
409409
break;

0 commit comments

Comments
 (0)