From: Greg Kroah-Hartman Date: Mon, 24 Jun 2019 09:21:51 +0000 (+0800) Subject: 4.19-stable patches X-Git-Tag: v5.1.15~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4dd8ba56e8b6189779fd6026c04779f083749a4;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: x86-resctrl-don-t-stop-walking-closids-when-a-locksetup-group-is-found.patch --- diff --git a/queue-4.19/series b/queue-4.19/series index 59cd71c7caa..a2884f7f4f3 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -87,3 +87,4 @@ nl-mac-80211-allow-4addr-ap-operation-on-crypto-controlled-devices.patch mac80211-handle-deauthentication-disassociation-from-tdls-peer.patch nl80211-fix-station_info-pertid-memory-leak.patch mac80211-do-not-use-stack-memory-with-scatterlist-for-gmac.patch +x86-resctrl-don-t-stop-walking-closids-when-a-locksetup-group-is-found.patch diff --git a/queue-4.19/x86-resctrl-don-t-stop-walking-closids-when-a-locksetup-group-is-found.patch b/queue-4.19/x86-resctrl-don-t-stop-walking-closids-when-a-locksetup-group-is-found.patch new file mode 100644 index 00000000000..71224c643ae --- /dev/null +++ b/queue-4.19/x86-resctrl-don-t-stop-walking-closids-when-a-locksetup-group-is-found.patch @@ -0,0 +1,51 @@ +From 87d3aa28f345bea77c396855fa5d5fec4c24461f Mon Sep 17 00:00:00 2001 +From: James Morse +Date: Mon, 3 Jun 2019 18:25:31 +0100 +Subject: x86/resctrl: Don't stop walking closids when a locksetup group is found + +From: James Morse + +commit 87d3aa28f345bea77c396855fa5d5fec4c24461f upstream. + +When a new control group is created __init_one_rdt_domain() walks all +the other closids to calculate the sets of used and unused bits. + +If it discovers a pseudo_locksetup group, it breaks out of the loop. This +means any later closid doesn't get its used bits added to used_b. These +bits will then get set in unused_b, and added to the new control group's +configuration, even if they were marked as exclusive for a later closid. + +When encountering a pseudo_locksetup group, we should continue. This is +because "a resource group enters 'pseudo-locked' mode after the schemata is +written while the resource group is in 'pseudo-locksetup' mode." When we +find a pseudo_locksetup group, its configuration is expected to be +overwritten, we can skip it. + +Fixes: dfe9674b04ff6 ("x86/intel_rdt: Enable entering of pseudo-locksetup mode") +Signed-off-by: James Morse +Signed-off-by: Thomas Gleixner +Acked-by: Reinette Chatre +Cc: Fenghua Yu +Cc: Borislav Petkov +Cc: H Peter Avin +Cc: +Link: https://lkml.kernel.org/r/20190603172531.178830-1-james.morse@arm.com +[Dropped comment due to lack of space] +Signed-off-by: James Morse +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/kernel/cpu/intel_rdt_rdtgroup.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c ++++ b/arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +@@ -2379,7 +2379,7 @@ static int rdtgroup_init_alloc(struct rd + if (closid_allocated(i) && i != closid) { + mode = rdtgroup_mode_by_closid(i); + if (mode == RDT_MODE_PSEUDO_LOCKSETUP) +- break; ++ continue; + used_b |= *ctrl; + if (mode == RDT_MODE_SHAREABLE) + d->new_ctrl |= *ctrl;