On Thu, 21 Oct 2021 03:45:07 +0000 Yafang Shao [off-list ref] wrote:
This patchset changes files among many subsystems. I don't know which
tree it should be applied to, so I just base it on Linus's tree.
I can do that ;)
There're many truncated kthreads in the kernel, which may make trouble
for the user, for example, the user can't get detailed device
information from the task comm.
That sucked of us.
This patchset tries to improve this problem fundamentally by extending
the task comm size from 16 to 24. In order to do that, we have to do
some cleanups first.
It's at v5 and there's no evidence of review activity? C'mon, folks!
1. Make the copy of task comm always safe no matter what the task
comm size is. For example,
Unsafe Safe
strlcpy strscpy_pad
strncpy strscpy_pad
bpf_probe_read_kernel bpf_probe_read_kernel_str
bpf_core_read_str
bpf_get_current_comm
perf_event__prepare_comm
prctl(2)
2. Replace the old hard-coded 16 with a new macro TASK_COMM_LEN_16 to
make it more grepable.
3. Extend the task comm size to 24 for CONFIG_BASE_FULL case and keep it
as 16 for CONFIG_BASE_SMALL.
Is this justified? How much simpler/more reliable/more maintainable/
would the code be if we were to make CONFIG_BASE_SMALL suffer with the
extra 8 bytes?
4. Print a warning if the kthread comm is still truncated.