+++ /dev/null
-From 9f01b4954490d4ccdbcc2b9be34a9921ceee9cbb Mon Sep 17 00:00:00 2001
-From: Shakeel Butt <shakeel.butt@linux.dev>
-Date: Mon, 10 Mar 2025 16:09:34 -0700
-Subject: memcg: drain obj stock on cpu hotplug teardown
-
-From: Shakeel Butt <shakeel.butt@linux.dev>
-
-commit 9f01b4954490d4ccdbcc2b9be34a9921ceee9cbb upstream.
-
-Currently on cpu hotplug teardown, only memcg stock is drained but we
-need to drain the obj stock as well otherwise we will miss the stats
-accumulated on the target cpu as well as the nr_bytes cached. The stats
-include MEMCG_KMEM, NR_SLAB_RECLAIMABLE_B & NR_SLAB_UNRECLAIMABLE_B. In
-addition we are leaking reference to struct obj_cgroup object.
-
-Link: https://lkml.kernel.org/r/20250310230934.2913113-1-shakeel.butt@linux.dev
-Fixes: bf4f059954dc ("mm: memcg/slab: obj_cgroup API")
-Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
-Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev>
-Acked-by: Johannes Weiner <hannes@cmpxchg.org>
-Cc: Michal Hocko <mhocko@kernel.org>
-Cc: Muchun Song <muchun.song@linux.dev>
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- mm/memcontrol.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/mm/memcontrol.c
-+++ b/mm/memcontrol.c
-@@ -2378,9 +2378,18 @@ static void drain_all_stock(struct mem_c
- static int memcg_hotplug_cpu_dead(unsigned int cpu)
- {
- struct memcg_stock_pcp *stock;
-+ struct obj_cgroup *old;
-+ unsigned long flags;
-
- stock = &per_cpu(memcg_stock, cpu);
-+
-+ /* drain_obj_stock requires stock_lock */
-+ local_lock_irqsave(&memcg_stock.stock_lock, flags);
-+ old = drain_obj_stock(stock);
-+ local_unlock_irqrestore(&memcg_stock.stock_lock, flags);
-+
- drain_stock(stock);
-+ obj_cgroup_put(old);
-
- return 0;
- }
mm-fix-error-handling-in-__filemap_get_folio-with-fgp_nowait.patch
mm-migrate-fix-shmem-xarray-update-during-migration.patch
proc-fix-uaf-in-proc_get_inode.patch
-memcg-drain-obj-stock-on-cpu-hotplug-teardown.patch
arm-dts-imx6qdl-apalis-fix-poweroff-on-apalis-imx6.patch
arm-shmobile-smp-enforce-shmobile_smp_-alignment.patch
efi-libstub-avoid-physical-address-0x0-when-doing-random-allocation.patch