on pre-3.12 kernel, there is no support for getting subsys name. because the
cgroup_subsys_state struct
has no member ss. the current use MEMBER_OFFSET to dectect the exists for ss member which
is the wrong
method.
This patch fix it by using MEMBER_EXISTS.
on centos7, without this patch:
crash> showcg 1
showcg: invalid kernel virtual address: ff9987beef203060 type:
"cgroup_subsys->name"
with this patch applys:
crash> showcg 1
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
cgroup: /
Signed-off-by: Wang Long <w(a)laoqinren.net>
---
extensions/proccgroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/extensions/proccgroup.c b/extensions/proccgroup.c
index c2c251d..c53b8ce 100644
--- a/extensions/proccgroup.c
+++ b/extensions/proccgroup.c
@@ -33,7 +33,7 @@ proccgroup_init(void)
error(FATAL, "Unrecognised or disabled cgroup support\n");
}
- if (!MEMBER_OFFSET("cgroup_subsys_state", "ss")) {
+ if (!MEMBER_EXISTS("cgroup_subsys_state", "ss")) {
have_ss_member = false;
error(WARNING, "pre-3.12 kernel detected, no support for getting subsys
name\n");
} else
--
1.8.3.1