Skip to content

Commit ffb2315

Browse files
rchatreKAGA-KOKO
authored andcommitted
x86/intel_rdt: Fix incorrect loop end condition
In order to determine a sane default cache allocation for a new CAT/CDP resource group, all resource groups are checked to determine which cache portions are available to share. At this time all possible CLOSIDs that can be supported by the resource is checked. This is problematic if the resource supports more CLOSIDs than another CAT/CDP resource. In this case, the number of CLOSIDs that could be allocated are fewer than the number of CLOSIDs that can be supported by the resource. Limit the check of closids to that what is supported by the system based on the minimum across all resources. Fixes: 95f0b77 ("x86/intel_rdt: Initialize new resource group with sane defaults") Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: "H Peter Anvin" <hpa@zytor.com> Cc: "Tony Luck" <tony.luck@intel.com> Cc: "Xiaochen Shen" <xiaochen.shen@intel.com> Cc: "Chen Yu" <yu.c.chen@intel.com> Link: https://lkml.kernel.org/r/1537048707-76280-10-git-send-email-fenghua.yu@intel.com
1 parent 939b90b commit ffb2315

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

arch/x86/kernel/cpu/intel_rdt_rdtgroup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2370,7 +2370,7 @@ static int rdtgroup_init_alloc(struct rdtgroup *rdtgrp)
23702370
d->new_ctrl = r->cache.shareable_bits;
23712371
used_b = r->cache.shareable_bits;
23722372
ctrl = d->ctrl_val;
2373-
for (i = 0; i < r->num_closid; i++, ctrl++) {
2373+
for (i = 0; i < closids_supported(); i++, ctrl++) {
23742374
if (closid_allocated(i) && i != closid) {
23752375
mode = rdtgroup_mode_by_closid(i);
23762376
if (mode == RDT_MODE_PSEUDO_LOCKSETUP)

0 commit comments

Comments
 (0)