From ee71a72f31cc3a04c413caf1d67ae67456362c33 Mon Sep 17 00:00:00 2001 From: Chen Ridong Date: Thu, 25 Jan 2024 02:03:05 +0000 Subject: [PATCH] deepin: KABI: KABI reservation for cgroup structures kabi: reserve space for cgroup frame Link: https://gitee.com/openeuler/kernel/issues/I8SA3O Signed-off-by: Chen Ridong Signed-off-by: Wentao Guan --- include/linux/cgroup-defs.h | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index 6eefe5153a6f..1d24ac834ad1 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef CONFIG_CGROUPS @@ -143,6 +144,10 @@ struct cgroup_file { struct kernfs_node *kn; unsigned long notified_at; struct timer_list notify_timer; + + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) }; /* @@ -200,6 +205,11 @@ struct cgroup_subsys_state { * fields of the containing structure. */ struct cgroup_subsys_state *parent; + + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) }; /* @@ -297,6 +307,11 @@ struct css_set { /* For RCU-protected deletion */ struct rcu_head rcu_head; + + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) }; struct cgroup_base_stat { @@ -368,6 +383,11 @@ struct cgroup_rstat_cpu { */ struct cgroup *updated_children; /* terminated by self cgroup */ struct cgroup *updated_next; /* NULL iff not on the list */ + + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) }; struct cgroup_freezer_state { @@ -525,6 +545,11 @@ struct cgroup { struct bpf_local_storage __rcu *bpf_cgrp_storage; #endif + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) + DEEPIN_KABI_RESERVE(5) /* All ancestors including self */ struct cgroup *ancestors[]; }; @@ -568,6 +593,11 @@ struct cgroup_root { /* The name for this hierarchy - may be empty */ char name[MAX_CGROUP_ROOT_NAMELEN]; + + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) }; /* @@ -657,6 +687,9 @@ struct cftype { __poll_t (*poll)(struct kernfs_open_file *of, struct poll_table_struct *pt); + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) #ifdef CONFIG_DEBUG_LOCK_ALLOC struct lock_class_key lockdep_key; #endif @@ -691,6 +724,11 @@ struct cgroup_subsys { void (*release)(struct task_struct *task); void (*bind)(struct cgroup_subsys_state *root_css); + DEEPIN_KABI_RESERVE(1) + DEEPIN_KABI_RESERVE(2) + DEEPIN_KABI_RESERVE(3) + DEEPIN_KABI_RESERVE(4) + bool early_init:1; /*