From d09d510e1f8e6213058819494f0d786170096d46 Mon Sep 17 00:00:00 2001 From: Michal Koutný Date: May 29 2023 13:51:35 +0000 Subject: cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated codes (bsc#1203906). --- diff --git a/patches.suse/cgroup.c-add-helper-__cset_cgroup_from_root-to-cleanup-duplicated-codes.patch b/patches.suse/cgroup.c-add-helper-__cset_cgroup_from_root-to-cleanup-duplicated-codes.patch new file mode 100644 index 0000000..a297b6c --- /dev/null +++ b/patches.suse/cgroup.c-add-helper-__cset_cgroup_from_root-to-cleanup-duplicated-codes.patch @@ -0,0 +1,103 @@ +From: Lin Feng +Date: Thu, 16 Jun 2022 18:38:30 +0800 +Subject: cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated + codes +Git-commit: e210a89f5b07680fe21d21e846e6817346c5ba3b +Patch-mainline: v6.0-rc1 +References: bsc#1203906 + +No funtionality change, but save us some lines. + +Signed-off-by: Lin Feng +Acked-by: Mukesh Ojha +Signed-off-by: Tejun Heo +Acked-by: Michal Koutný +--- + kernel/cgroup/cgroup.c | 58 +++++++++++++++++++++++--------------------------- + 1 file changed, 27 insertions(+), 31 deletions(-) + +diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c +index 90a654cb8a1e..4b67e6da6bf2 100644 +--- a/kernel/cgroup/cgroup.c ++++ b/kernel/cgroup/cgroup.c +@@ -1376,6 +1376,31 @@ static void cgroup_destroy_root(struct cgroup_root *root) + cgroup_free_root(root); + } + ++static inline struct cgroup *__cset_cgroup_from_root(struct css_set *cset, ++ struct cgroup_root *root) ++{ ++ struct cgroup *res_cgroup = NULL; ++ ++ if (cset == &init_css_set) { ++ res_cgroup = &root->cgrp; ++ } else if (root == &cgrp_dfl_root) { ++ res_cgroup = cset->dfl_cgrp; ++ } else { ++ struct cgrp_cset_link *link; ++ ++ list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { ++ struct cgroup *c = link->cgrp; ++ ++ if (c->root == root) { ++ res_cgroup = c; ++ break; ++ } ++ } ++ } ++ ++ return res_cgroup; ++} ++ + /* + * look up cgroup associated with current task's cgroup namespace on the + * specified hierarchy +@@ -1391,22 +1416,8 @@ current_cgns_cgroup_from_root(struct cgroup_root *root) + rcu_read_lock(); + + cset = current->nsproxy->cgroup_ns->root_cset; +- if (cset == &init_css_set) { +- res = &root->cgrp; +- } else if (root == &cgrp_dfl_root) { +- res = cset->dfl_cgrp; +- } else { +- struct cgrp_cset_link *link; +- +- list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { +- struct cgroup *c = link->cgrp; ++ res = __cset_cgroup_from_root(cset, root); + +- if (c->root == root) { +- res = c; +- break; +- } +- } +- } + rcu_read_unlock(); + + BUG_ON(!res); +@@ -1422,22 +1433,7 @@ static struct cgroup *cset_cgroup_from_root(struct css_set *cset, + lockdep_assert_held(&cgroup_mutex); + lockdep_assert_held(&css_set_lock); + +- if (cset == &init_css_set) { +- res = &root->cgrp; +- } else if (root == &cgrp_dfl_root) { +- res = cset->dfl_cgrp; +- } else { +- struct cgrp_cset_link *link; +- +- list_for_each_entry(link, &cset->cgrp_links, cgrp_link) { +- struct cgroup *c = link->cgrp; +- +- if (c->root == root) { +- res = c; +- break; +- } +- } +- } ++ res = __cset_cgroup_from_root(cset, root); + + BUG_ON(!res); + return res; + diff --git a/series.conf b/series.conf index a869005..5018a77 100644 --- a/series.conf +++ b/series.conf @@ -14808,6 +14808,7 @@ patches.suse/Documentation-siphash-Fix-typo-in-the-name-of-offset.patch patches.suse/selftests-timers-valid-adjtimex-build-fix-for-newer-.patch patches.suse/selftests-timers-clocksource-switch-fix-passing-erro.patch + patches.suse/cgroup.c-add-helper-__cset_cgroup_from_root-to-cleanup-duplicated-codes.patch patches.suse/btrfs-send-use-boolean-types-for-current-inode-statu.patch patches.suse/btrfs-properly-flag-filesystem-with-btrfs_feature_incompat_big_metadata.patch patches.suse/btrfs-send-introduce-recorded_ref_alloc-and-recorded.patch