[PATCH OLK-6.6] ifs: Defer cgroup ifs enable

hulk inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/ICAOAT -------------------------------- Start cgroup ifs after the kernel core startup process is completed, otherwise the intermediate state may be accessed. Signed-off-by: Pu Lehui <pulehui@huawei.com> --- kernel/cgroup/ifs.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/kernel/cgroup/ifs.c b/kernel/cgroup/ifs.c index 6243c9a98ffe..e6419899d725 100644 --- a/kernel/cgroup/ifs.c +++ b/kernel/cgroup/ifs.c @@ -537,15 +537,13 @@ void cgroup_ifs_init(void) BUG_ON(cgroup_init_cftypes(NULL, cgroup_ifs_files)); cgroup_ifs_tdesc_init(); - - static_branch_enable(&cgrp_ifs_enabled); } int cgroup_ifs_add_files(struct cgroup_subsys_state *css, struct cgroup *cgrp) { int ret = 0; - if (!cgroup_ifs_enabled()) + if (!ifs_enable) return 0; ret = cgroup_addrm_files(css, cgrp, cgroup_ifs_files, true); @@ -559,7 +557,7 @@ int cgroup_ifs_add_files(struct cgroup_subsys_state *css, struct cgroup *cgrp) void cgroup_ifs_rm_files(struct cgroup_subsys_state *css, struct cgroup *cgrp) { - if (cgroup_ifs_enabled()) + if (ifs_enable) cgroup_addrm_files(css, cgrp, cgroup_ifs_files, false); } @@ -576,3 +574,16 @@ void cgroup_ifs_enable_irq_account(bool enable) ifs_irq_enable = enable; } #endif + +static __init int cgroup_ifs_enable(void) +{ + if (!ifs_enable) + return 0; + + if (!this_cpu_read(ifs_tsc_freq)) + return 0; + + static_branch_enable(&cgrp_ifs_enabled); + return 0; +} +late_initcall_sync(cgroup_ifs_enable); -- 2.34.1

反馈: 您发送到kernel@openeuler.org的补丁/补丁集,已成功转换为PR! PR链接地址: https://gitee.com/openeuler/kernel/pulls/17257 邮件列表地址:https://mailweb.openeuler.org/archives/list/kernel@openeuler.org/message/ZGS... FeedBack: The patch(es) which you have sent to kernel@openeuler.org mailing list has been converted to a pull request successfully! Pull request link: https://gitee.com/openeuler/kernel/pulls/17257 Mailing list address: https://mailweb.openeuler.org/archives/list/kernel@openeuler.org/message/ZGS...
participants (2)
-
patchwork bot
-
Pu Lehui