From: Mike Yuan Date: Thu, 13 Jun 2024 09:00:26 +0000 (+0200) Subject: core/cgroup: check root cgroup earlier for unit_get_memory_accounting X-Git-Tag: v257-rc1~1014^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d3d035395eeced715c9609aeb8bfac7157dd0aa9;p=thirdparty%2Fsystemd.git core/cgroup: check root cgroup earlier for unit_get_memory_accounting --- diff --git a/src/core/cgroup.c b/src/core/cgroup.c index 47413e6bc37..dfbe716e8bd 100644 --- a/src/core/cgroup.c +++ b/src/core/cgroup.c @@ -4527,6 +4527,10 @@ int unit_get_memory_accounting(Unit *u, CGroupMemoryAccountingMetric metric, uin if (!UNIT_CGROUP_BOOL(u, memory_accounting)) return -ENODATA; + /* The root cgroup doesn't expose this information. */ + if (unit_has_host_root_cgroup(u)) + return -ENODATA; + CGroupRuntime *crt = unit_get_cgroup_runtime(u); if (!crt) return -ENODATA; @@ -4534,10 +4538,6 @@ int unit_get_memory_accounting(Unit *u, CGroupMemoryAccountingMetric metric, uin /* If the cgroup is already gone, we try to find the last cached value. */ goto finish; - /* The root cgroup doesn't expose this information. */ - if (unit_has_host_root_cgroup(u)) - return -ENODATA; - if (!FLAGS_SET(crt->cgroup_realized_mask, CGROUP_MASK_MEMORY)) return -ENODATA;