---
 mm/hugetlb_cgroup.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c
index 854117513979b..ac1500205faf7 100644
--- a/mm/hugetlb_cgroup.c
+++ b/mm/hugetlb_cgroup.c
@@ -503,8 +503,13 @@ static void __init __hugetlb_cgroup_file_init(int idx)
        cft = &h->cgroup_files[HUGETLB_RES_NULL];
        memset(cft, 0, sizeof(*cft));

-       WARN_ON(cgroup_add_legacy_cftypes(&hugetlb_cgrp_subsys,
-                                         h->cgroup_files));
+       if (cgroup_subsys_on_dfl(hugetlb_cgrp_subsys)) {
+               WARN_ON(cgroup_add_dfl_cftypes(&hugetlb_cgrp_subsys,
+                                              h->cgroup_files));
+       } else {
+               WARN_ON(cgroup_add_legacy_cftypes(&hugetlb_cgrp_subsys,
+                                                 h->cgroup_files));
+       }
 }

 void __init hugetlb_cgroup_file_init(void)
@@ -548,8 +553,14 @@ void hugetlb_cgroup_migrate(struct page *oldhpage, struct 
page *newhpage)
        return;
 }

+static struct cftype hugetlb_files[] = {
+       {} /* terminate */
+};
+
 struct cgroup_subsys hugetlb_cgrp_subsys = {
        .css_alloc      = hugetlb_cgroup_css_alloc,
        .css_offline    = hugetlb_cgroup_css_offline,
        .css_free       = hugetlb_cgroup_css_free,
+       .dfl_cftypes = hugetlb_files,
+       .legacy_cftypes = hugetlb_files,
 };
--
2.23.0.700.g56cf767bdb-goog

Reply via email to