> Seven callers call seq_buf_str() only to NUL-terminate the buffer, > discarding the returned pointer. Two of them need a comment to say so. > > Add seq_buf_terminate(), wrapping the __seq_buf_terminate() helper that > seq_buf_str() and seq_buf_strlen() already use, and convert those > callers. It returns void: returning the offset would just be > seq_buf_strlen() under another name. A zero-sized seq_buf is left > untouched, as in the other accessors. > > Add tests for the three cases: room for the NUL after the data, an > overflowed buffer where it lands in the last byte, and a zero-sized > buffer that must not be written to. > > Build tested ARCH=x86_64 defconfig with GCC 16.2.0, plus > CONFIG_HIST_TRIGGERS=y and CONFIG_BPF_SYSCALL=y to reach the converted > call sites in kernel/trace/trace_events_hist.c and > kernel/bpf/diagnostics.c. Tests run 24/24 passing on ARCH=um. > > Assisted-by: LLM > Signed-off-by: Kees Cook <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=6
