[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220221032202.1925507-1-xu.xin16@zte.com.cn>
Date: Mon, 21 Feb 2022 03:22:02 +0000
From: xu xin <cgel.zte@...il.com>
To: bsingharora@...il.com, akpm@...ux-foundation.org
Cc: deng.changcheng@....com.cn, linux-kernel@...r.kernel.org,
balbir@...ux.vnet.ibm.com, xu.xin16@....com.cn
Subject: [PATCH resend] kernel: Make taskstats available via genetlink per namespace
Currently, the application getdelays cannot get taskstats in a net
namespace. The returned error is just like the following:
-sh-4.4# ps -ef | tail -5
root 186 2 0 09:23 ? 00:00:00 [kworker/2:1H]
root 187 2 0 09:23 ? 00:00:00 [kworker/0:2-eve]
root 190 183 0 09:23 ? 00:00:00 -sh
root 198 190 0 09:25 ? 00:00:00 ps -ef
root 199 190 0 09:25 ? 00:00:00 tail -5
-sh-4.4#
-sh-4.4# ./getdelays -d -p 186 -v
print delayacct stats ON
debug on
Error getting family id, errno 0
As more and more applications are deployed in containers like Docker,
it is necessary to support getdelays to be used in net namespace.
Taskstats is safe for use per namespace as genetlink checks the
capability of namespace message by netlink_ns_capable().
Make taskstats available via genetlink per namespace.
Reported-by: Changcheng Deng <deng.changcheng@....com.cn>
Signed-off-by: xu xin <xu.xin16@....com.cn>
---
kernel/taskstats.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/taskstats.c b/kernel/taskstats.c
index 2b4898b4752e..4d6bcaaf52a0 100644
--- a/kernel/taskstats.c
+++ b/kernel/taskstats.c
@@ -664,6 +664,7 @@ static struct genl_family family __ro_after_init = {
.module = THIS_MODULE,
.ops = taskstats_ops,
.n_ops = ARRAY_SIZE(taskstats_ops),
+ .netnsok = true,
};
/* Needed early in initialization */
--
2.25.1
Powered by blists - more mailing lists