Message ID | 20211021034516.4400-4-laoar.shao@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | extend task comm from 16 to 24 for CONFIG_BASE_FULL | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
bpf/vmtest-bpf-next-PR | fail | merge-conflict |
bpf/vmtest-bpf | success | VM_Test |
bpf/vmtest-bpf-PR | success | PR summary |
On Wed, Oct 20, 2021 at 8:45 PM Yafang Shao <laoar.shao@gmail.com> wrote: > > There're many hard-coded 16 used to store task comm in the kernel, that > makes it error prone if we want to change the value of TASK_COMM_LEN. A > new marco TASK_COMM_LEN_16 is introduced to replace these old ones, then > we can easily grep them. > > Signed-off-by: Yafang Shao <laoar.shao@gmail.com> > Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> > Cc: Peter Zijlstra <peterz@infradead.org> > Cc: Steven Rostedt <rostedt@goodmis.org> > Cc: Kees Cook <keescook@chromium.org> > Cc: Al Viro <viro@zeniv.linux.org.uk> > Cc: Petr Mladek <pmladek@suse.com> > --- > include/linux/sched.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/linux/sched.h b/include/linux/sched.h > index c1a927ddec64..62d5b30d310c 100644 > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -274,6 +274,8 @@ struct task_group; > > #define get_current_state() READ_ONCE(current->__state) > > +/* To replace the old hard-coded 16 */ > +#define TASK_COMM_LEN_16 16 > /* Task command name length: */ > #define TASK_COMM_LEN 16 Can we please convert these two constants into enum? That will allow BPF applications to deal with such kernel change more easily because these constants will now be available as part of kernel BTF. Something like this should be completely equivalent for all the kernel uses: enum { TASK_COMM_LEN = 16, TASK_COMM_LEN_16 = 16, }; When later TASK_COMM_LEN is defined as = 24, BPF applications will be able to deal with that by querying BTF through BPF CO-RE. > > -- > 2.17.1 >
On Fri, Oct 22, 2021 at 5:55 AM Andrii Nakryiko <andrii.nakryiko@gmail.com> wrote: > > On Wed, Oct 20, 2021 at 8:45 PM Yafang Shao <laoar.shao@gmail.com> wrote: > > > > There're many hard-coded 16 used to store task comm in the kernel, that > > makes it error prone if we want to change the value of TASK_COMM_LEN. A > > new marco TASK_COMM_LEN_16 is introduced to replace these old ones, then > > we can easily grep them. > > > > Signed-off-by: Yafang Shao <laoar.shao@gmail.com> > > Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> > > Cc: Peter Zijlstra <peterz@infradead.org> > > Cc: Steven Rostedt <rostedt@goodmis.org> > > Cc: Kees Cook <keescook@chromium.org> > > Cc: Al Viro <viro@zeniv.linux.org.uk> > > Cc: Petr Mladek <pmladek@suse.com> > > --- > > include/linux/sched.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/include/linux/sched.h b/include/linux/sched.h > > index c1a927ddec64..62d5b30d310c 100644 > > --- a/include/linux/sched.h > > +++ b/include/linux/sched.h > > @@ -274,6 +274,8 @@ struct task_group; > > > > #define get_current_state() READ_ONCE(current->__state) > > > > +/* To replace the old hard-coded 16 */ > > +#define TASK_COMM_LEN_16 16 > > /* Task command name length: */ > > #define TASK_COMM_LEN 16 > > Can we please convert these two constants into enum? That will allow > BPF applications to deal with such kernel change more easily because > these constants will now be available as part of kernel BTF. > > Something like this should be completely equivalent for all the kernel uses: > > enum { > TASK_COMM_LEN = 16, > TASK_COMM_LEN_16 = 16, > }; > > When later TASK_COMM_LEN is defined as = 24, BPF applications will be > able to deal with that by querying BTF through BPF CO-RE. > Sure. I will convert it to enum.
diff --git a/include/linux/sched.h b/include/linux/sched.h index c1a927ddec64..62d5b30d310c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -274,6 +274,8 @@ struct task_group; #define get_current_state() READ_ONCE(current->__state) +/* To replace the old hard-coded 16 */ +#define TASK_COMM_LEN_16 16 /* Task command name length: */ #define TASK_COMM_LEN 16
There're many hard-coded 16 used to store task comm in the kernel, that makes it error prone if we want to change the value of TASK_COMM_LEN. A new marco TASK_COMM_LEN_16 is introduced to replace these old ones, then we can easily grep them. Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Kees Cook <keescook@chromium.org> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Petr Mladek <pmladek@suse.com> --- include/linux/sched.h | 2 ++ 1 file changed, 2 insertions(+)