Thread (16 messages) 16 messages, 4 authors, 2025-08-13

Re: [PATCH v7 2/4] include: Set tsk->comm length to 64 bytes

From: Bhupesh Sharma <hidden>
Date: 2025-08-13 10:30:09
Also in: bpf, linux-fsdevel, linux-mm, linux-trace-kernel, lkml


On 8/11/25 8:40 PM, Andy Shevchenko wrote:
On Mon, Aug 11, 2025 at 12:16:07PM +0530, Bhupesh wrote:
quoted
Historically due to the 16-byte length of TASK_COMM_LEN, the
users of 'tsk->comm' are restricted to use a fixed-size target
buffer also of TASK_COMM_LEN for 'memcpy()' like use-cases.

To fix the same, we now use a 64-byte TASK_COMM_EXT_LEN and
set the comm element inside 'task_struct' to the same length:
        struct task_struct {
	       .....
                char    comm[TASK_COMM_EXT_LEN];
	       .....
        };

        where TASK_COMM_EXT_LEN is 64-bytes.

Note, that the existing users have not been modified to migrate to
'TASK_COMM_EXT_LEN', in case they have hard-coded expectations of
dealing with only a 'TASK_COMM_LEN' long 'tsk->comm'.
...
quoted
-	BUILD_BUG_ON(sizeof(from) != TASK_COMM_LEN);	\
+	BUILD_BUG_ON(sizeof(from) < TASK_COMM_LEN);	\
Wondering if we may convert this to static_assert().
(rather in a separate patch)
That's a fair suggestion. If others don't have an objection to the 
suggested change, I can club it in v8 along with any other requested 
changes.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help