lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 10 Oct 2021 10:24:28 +0000 From: Yafang Shao <laoar.shao@...il.com> To: keescook@...omium.org, rostedt@...dmis.org, peterz@...radead.org, pmladek@...e.com, viro@...iv.linux.org.uk, akpm@...ux-foundation.org, valentin.schneider@....com, mathieu.desnoyers@...icios.com, qiang.zhang@...driver.com, robdclark@...omium.org, christian@...uner.io, dietmar.eggemann@....com, mingo@...hat.com, juri.lelli@...hat.com, vincent.guittot@...aro.org, bsegall@...gle.com, mgorman@...e.de, bristot@...hat.com Cc: linux-kernel@...r.kernel.org, Yafang Shao <laoar.shao@...il.com> Subject: [PATCH v3 3/4] sched.h: extend task comm from 16 to 24 for CONFIG_BASE_FULL When I was implementing a new per-cpu kthread cfs_migration, I found the comm of it "cfs_migration/%u" is truncated due to the limitation of TASK_COMM_LEN. For example, the comm of the percpu thread on CPU10~19 are all with the same name "cfs_migration/1", which will confuse the user. This issue is not critical, because we can get the corresponding CPU from the task's Cpus_allowed. But for kthreads correspoinding to other hardware devices, it is not easy to get the detailed device info from task comm, for example, jbd2/nvme0n1p2- xfs-reclaim/sdf We can also shorten the name to work around this problem, but I find there are so many truncated kthreads: rcu_tasks_kthre rcu_tasks_rude_ rcu_tasks_trace poll_mpt3sas0_s ext4-rsv-conver xfs-reclaim/sd{a, b, c, ...} xfs-blockgc/sd{a, b, c, ...} xfs-inodegc/sd{a, b, c, ...} audit_send_repl ecryptfs-kthrea vfio-irqfd-clea jbd2/nvme0n1p2- ... We should improve this problem fundamentally. This patch extends the size of task comm to 24 bytes, which is the same length with workqueue's, for the CONFIG_BASE_FULL case. And for the CONFIG_BASE_SMALL case, the size of task comm is still kept as 16 bytes. Suggested-by: Petr Mladek <pmladek@...e.com> Signed-off-by: Yafang Shao <laoar.shao@...il.com> Reviewed-by: Kees Cook <keescook@...omium.org> Cc: Peter Zijlstra <peterz@...radead.org> Cc: Steven Rostedt <rostedt@...dmis.org> Cc: Al Viro <viro@...iv.linux.org.uk> Cc: Petr Mladek <pmladek@...e.com> --- include/linux/sched.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h index 39039ce8ac4c..e0796068dee0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -275,7 +275,11 @@ struct task_group; #define get_current_state() READ_ONCE(current->__state) /* Task command name length: */ +#if CONFIG_BASE_SMALL #define TASK_COMM_LEN 16 +#else +#define TASK_COMM_LEN 24 +#endif extern void scheduler_tick(void); -- 2.18.2
Powered by blists - more mailing lists