Commit 0cc2682d authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:
 "Misc fixes:

   - a resctrl fix for uninitialized objects found by debugobjects

   - a resctrl memory leak fix

   - fix the unintended re-enabling of the of SME and SEV CPU flags if
     memory encryption was disabled at bootup via the MSR space"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained
  x86/resctrl: Fix potential memory leak
  x86/resctrl: Fix an imbalance in domain_remove_cpu()
parents 7ff15cd0 a006483b
...@@ -615,9 +615,9 @@ static void early_detect_mem_encrypt(struct cpuinfo_x86 *c) ...@@ -615,9 +615,9 @@ static void early_detect_mem_encrypt(struct cpuinfo_x86 *c)
return; return;
clear_all: clear_all:
clear_cpu_cap(c, X86_FEATURE_SME); setup_clear_cpu_cap(X86_FEATURE_SME);
clear_sev: clear_sev:
clear_cpu_cap(c, X86_FEATURE_SEV); setup_clear_cpu_cap(X86_FEATURE_SEV);
} }
} }
......
...@@ -618,7 +618,7 @@ static void domain_remove_cpu(int cpu, struct rdt_resource *r) ...@@ -618,7 +618,7 @@ static void domain_remove_cpu(int cpu, struct rdt_resource *r)
if (static_branch_unlikely(&rdt_mon_enable_key)) if (static_branch_unlikely(&rdt_mon_enable_key))
rmdir_mondata_subdir_allrdtgrp(r, d->id); rmdir_mondata_subdir_allrdtgrp(r, d->id);
list_del(&d->list); list_del(&d->list);
if (is_mbm_enabled()) if (r->mon_capable && is_mbm_enabled())
cancel_delayed_work(&d->mbm_over); cancel_delayed_work(&d->mbm_over);
if (is_llc_occupancy_enabled() && has_busy_rmid(r, d)) { if (is_llc_occupancy_enabled() && has_busy_rmid(r, d)) {
/* /*
......
...@@ -1741,9 +1741,6 @@ static int set_cache_qos_cfg(int level, bool enable) ...@@ -1741,9 +1741,6 @@ static int set_cache_qos_cfg(int level, bool enable)
struct rdt_domain *d; struct rdt_domain *d;
int cpu; int cpu;
if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL))
return -ENOMEM;
if (level == RDT_RESOURCE_L3) if (level == RDT_RESOURCE_L3)
update = l3_qos_cfg_update; update = l3_qos_cfg_update;
else if (level == RDT_RESOURCE_L2) else if (level == RDT_RESOURCE_L2)
...@@ -1751,6 +1748,9 @@ static int set_cache_qos_cfg(int level, bool enable) ...@@ -1751,6 +1748,9 @@ static int set_cache_qos_cfg(int level, bool enable)
else else
return -EINVAL; return -EINVAL;
if (!zalloc_cpumask_var(&cpu_mask, GFP_KERNEL))
return -ENOMEM;
r_l = &rdt_resources_all[level]; r_l = &rdt_resources_all[level];
list_for_each_entry(d, &r_l->domains, list) { list_for_each_entry(d, &r_l->domains, list) {
/* Pick one CPU from each domain instance to update MSR */ /* Pick one CPU from each domain instance to update MSR */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment