linux/kernel/cgroup
Friedrich Vock 8821f36333 cgroup/dmem: Don't open-code css_for_each_descendant_pre
The current implementation has a bug: If the current css doesn't
contain any pool that is a descendant of the "pool" (i.e. when
found_descendant == false), then "pool" will point to some unrelated
pool. If the current css has a child, we'll overwrite parent_pool with
this unrelated pool on the next iteration.

Since we can just check whether a pool refers to the same region to
determine whether or not it's related, all the additional pool tracking
is unnecessary, so just switch to using css_for_each_descendant_pre for
traversal.

Fixes: b168ed458d ("kernel/cgroup: Add "dmem" memory accounting cgroup")
Signed-off-by: Friedrich Vock <friedrich.vock@gmx.de>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250127152754.21325-1-friedrich.vock@gmx.de
Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
2025-02-19 09:50:37 +01:00
..
cgroup-internal.h mm, memcg: cg2 memory{.swap,}.peak write handlers 2024-09-01 20:25:53 -07:00
cgroup-v1.c cgroup: Do not report unavailable v1 controllers in /proc/cgroups 2024-09-10 10:04:28 -10:00
cgroup.c cgroup: Changes for v6.13 2024-11-20 09:54:49 -08:00
cpuset-internal.h cgroup/cpuset: Move cpu.h include to cpuset-internal.h 2024-09-04 10:46:49 -10:00
cpuset-v1.c cgroup/cpuset: rename functions shared between v1 and v2 2024-08-30 10:00:16 -10:00
cpuset.c cgroup/cpuset: remove kernfs active break 2025-01-08 15:54:39 -10:00
debug.c kernel: cgroup: fix misuse of %x 2019-05-06 08:47:48 -07:00
dmem.c cgroup/dmem: Don't open-code css_for_each_descendant_pre 2025-02-19 09:50:37 +01:00
freezer.c cgroup/freezer: Add cgroup CGRP_FROZEN flag update helper 2024-10-23 09:45:09 -10:00
legacy_freezer.c cgroup, legacy_freezer: update comment for freezer_css_offline() 2024-04-18 06:01:50 -10:00
Makefile kernel/cgroup: Add "dmem" memory accounting cgroup 2025-01-06 17:24:38 +01:00
misc.c cgroup/misc: Introduce misc.events.local 2024-07-12 06:45:23 -10:00
namespace.c cgroup:namespace: Remove unused cgroup_namespaces_init() 2023-08-14 14:29:47 -10:00
pids.c cgroup/pids: Remove unreachable paths of pids_{can,cancel}_fork 2024-08-05 10:32:16 -10:00
rdma.c rdmacg: fix kernel-doc warnings in rdmacg 2023-06-05 09:45:14 -10:00
rstat.c cgroup/rstat: Tracking cgroup-level niced CPU time 2024-10-08 08:50:48 -10:00