lkml.org 
[lkml]   [2018]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 7/9] x86/intel_rdt: Fix incorrect loop end condition
    Date
    From: Reinette Chatre <reinette.chatre@intel.com>

    A loop is used to check if a CAT resource's CBM of one CLOSID
    overlaps with the CBM of another CLOSID of the same resource. The loop
    is run over all CLOSIDs supported by the resource.

    The problem with running the loop over all CLOSIDs supported by the
    resource is that its number of supported CLOSIDs may be more than the
    number of supported CLOSIDs on the system, which is the minimum number of
    CLOSIDs supported across all resources.

    Fix the loop to only consider the number of system supported CLOSIDs,
    not all that are supported by the resource.

    Fixes: 49f7b4efa ("x86/intel_rdt: Enable setting of exclusive mode")
    Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
    ---
    arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    index 74821bc457c0..afd93d45e21b 100644
    --- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    +++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c
    @@ -996,7 +996,7 @@ bool rdtgroup_cbm_overlaps(struct rdt_resource *r, struct rdt_domain *d,

    /* Check for overlap with other resource groups */
    ctrl = d->ctrl_val;
    - for (i = 0; i < r->num_closid; i++, ctrl++) {
    + for (i = 0; i < closids_supported(); i++, ctrl++) {
    ctrl_b = (unsigned long *)ctrl;
    mode = rdtgroup_mode_by_closid(i);
    if (closid_allocated(i) && i != closid &&
    --
    2.19.0
    \
     
     \ /
      Last update: 2018-09-14 22:36    [W:2.966 / U:0.444 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site