• Reinette Chatre's avatar
    x86/intel_rdt: Fix cleanup of plr structure on error · 546d3c74
    Reinette Chatre authored
    When a resource group enters pseudo-locksetup mode a pseudo_lock_region is
    associated with it. When the user writes to the resource group's schemata
    file the CBM of the requested pseudo-locked region is entered into the
    pseudo_lock_region struct. If any part of pseudo-lock region creation fails
    the resource group will remain in pseudo-locksetup mode with the
    pseudo_lock_region associated with it.
    
    In case of failure during pseudo-lock region creation care needs to be
    taken to ensure that the pseudo_lock_region struct associated with the
    resource group is cleared from any pseudo-locking data - especially the
    CBM. This is because the existence of a pseudo_lock_region struct with a
    CBM is significant in other areas of the code, for example, the display of
    bit_usage and initialization of a new resource group.
    
    Fix the error path of pseudo-lock region creation to ensure that the
    pseudo_lock_region struct is cleared at each error exit.
    
    Fixes: 018961ae ("x86/intel_rdt: Pseudo-lock region creation/removal core")
    Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: fenghua.yu@intel.com
    Cc: tony.luck@intel.com
    Cc: vikas.shivappa@linux.intel.com
    Cc: gavin.hindman@intel.com
    Cc: jithu.joseph@intel.com
    Cc: dave.hansen@intel.com
    Cc: hpa@zytor.com
    Link: https://lkml.kernel.org/r/49b4782f6d204d122cee3499e642b2772a98d2b4.1530421026.git.reinette.chatre@intel.com
    546d3c74
intel_rdt_pseudo_lock.c 42.5 KB