mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 00/12] seq_buf: Add seq_buf_strlen()
@ 2026-10-05 15:56 Kees Cook
  2026-10-05 15:56 ` [PATCH v5 01/12] seq_buf: Do not print an empty line from an overflowed seq_buf_do_printk() Kees Cook
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Kees Cook @ 2026-10-05 15:56 UTC (permalink / raw)
  To: Bill Wendling
  Cc: Kees Cook, Jonathan Corbet, Andrew Morton, David Gow,
	Petr Mladek, Sergey Senozhatsky, Shuvam Pandey, Steven Rostedt,
	Günther Noack, Matthew Wilcox (Oracle),
	Mickaël Salaün, Andy Shevchenko, Masami Hiramatsu,
	Mathieu Desnoyers, Ian Bridges, Justin Tee, Paul Ely,
	James E.J. Bottomley, Martin K. Petersen, Jiri Kosina,
	Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
	Eduard Zingerman, Kumar Kartikeya Dwivedi, Martin KaFai Lau,
	Song Liu, Yonghong Song, Jiri Olsa, Emil Tsalapatis,
	Ihor Solodrai, Christophe Leroy (CS GROUP),
	Uwe Kleine-König, Madhavan Srinivasan, Michael Ellerman,
	Nicholas Piggin, Shivaprasad G Bhat, Thorsten Blum,
	Alison Schofield, Dave Jiang, Greg Kroah-Hartman, Guangshuo Li,
	Ira Weiny, Uwe Kleine-König, Vishal Verma, Randy Dunlap,
	Shuah Khan, linux-kernel, linux-hardening

Hi,

While working on seq_buf conversions[1], we found there was a need for
seq_buf_strlen() (since calling strlen(seq_buf_str()) would be a waste
of time: seq_buf already knows the length), seq_buf_init_append() (to
start a seq_buf from an existing string buffer), and seq_buf_terminate()
(as there are many callers using seq_buf_str() just for its termination
side-effect). And while implementing that, we found a bunch of other
related things that needed fixing. This is that ever-growing series,
with tests for each fix.

 v5:
  - add Alexei's Acked-by for the bpf bits (07/12, 08/12)
  - 03/12: new: lpfc_rx_monitor_report() drops a record that does not
    fit itself, instead of relying on seq_buf_puts() leaving it out,
    which 04/12 changes (BPF CI)
  - 04/12: note the audit of seq_buf_puts() and seq_buf_putmem() callers
    in the commit message (BPF CI)
  - 04/12, 05/12: drop the inaccurate "unlike the other writers" from
    the export notes (BPF CI)
  - 05/12: drop a duplicate #include from the tests
  - 06/12: note in seq_buf_str()'s kernel-doc that only a zero-sized
    seq_buf returns the static empty string (Andy)
  - 07/12: write the seq_buf_terminate() test data with
    seq_buf_putmem(), which leaves no NUL, so the test fails if
    seq_buf_terminate() does nothing (Sashiko)
  - 09/12: fix the commit message's description of seq_buf_init(), which
    empties the buffer rather than setting its size to 0 (BPF CI)
  - 09/12: check the length in the test of a string longer than the
    size, so an unbounded scan fails it (Sashiko)
  - v4..v5 diff: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/diff/?id=dev/v7.3-rc2/seq_buf/v5&id2=dev/v7.3-rc2/seq_buf/v4
 v4: https://lore.kernel.org/all/20261003035906.too.263-kees@kernel.org/
 v3: https://lore.kernel.org/all/20260930235231.out.387-kees@kernel.org/
 v2: https://lore.kernel.org/all/20260919002658.stay.929-kees@kernel.org/
 v1: https://lore.kernel.org/all/20260917002312.i.923-kees@kernel.org/

Thanks!

-Kees

[1] https://lore.kernel.org/all/20260917011359.1585961-1-morbo@google.com/

Bill Wendling (1):
  seq_buf: Add seq_buf_init_append()

Kees Cook (11):
  seq_buf: Do not print an empty line from an overflowed
    seq_buf_do_printk()
  seq_buf: Do not pop from an overflowed seq_buf
  scsi: lpfc: Print rx monitor records straight into the seq_buf
  seq_buf: Copy what fits when seq_buf_puts() and seq_buf_putmem()
    overflow
  seq_buf: Clear what a writer did not claim when a seq_buf overflows
  seq_buf: Add seq_buf_strlen()
  seq_buf: Add seq_buf_terminate()
  bpf: Remove dead newline stripping from format_disasm_line()
  powerpc/papr_scm: Return the string length from the sysfs show
    functions
  nvdimm: ndtest: Return the string length from flags_show()
  docs: core-api: Document the seq_buf API

 Documentation/core-api/kernel-api.rst     |   9 +
 include/linux/seq_buf.h                   | 141 +++++-
 include/linux/trace_seq.h                 |   5 +-
 arch/powerpc/platforms/pseries/papr_scm.c |   6 +-
 drivers/scsi/lpfc/lpfc_sli.c              |  45 +-
 kernel/bpf/diagnostics.c                  |   8 +-
 kernel/trace/trace_events.c               |   4 +-
 kernel/trace/trace_events_hist.c          |   6 +-
 lib/seq_buf.c                             |  37 +-
 lib/tests/seq_buf_kunit.c                 | 537 +++++++++++++++++++++-
 tools/testing/nvdimm/test/ndtest.c        |   2 +-
 11 files changed, 746 insertions(+), 54 deletions(-)

-- 
2.55.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-10-05 18:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-05 15:56 [PATCH v5 00/12] seq_buf: Add seq_buf_strlen() Kees Cook
2026-10-05 15:56 ` [PATCH v5 01/12] seq_buf: Do not print an empty line from an overflowed seq_buf_do_printk() Kees Cook
2026-10-05 15:56 ` [PATCH v5 02/12] seq_buf: Do not pop from an overflowed seq_buf Kees Cook
2026-10-05 15:56 ` [PATCH v5 03/12] scsi: lpfc: Print rx monitor records straight into the seq_buf Kees Cook
2026-10-05 18:54   ` David Laight
2026-10-05 15:56 ` [PATCH v5 04/12] seq_buf: Copy what fits when seq_buf_puts() and seq_buf_putmem() overflow Kees Cook
2026-10-05 15:56 ` [PATCH v5 05/12] seq_buf: Clear what a writer did not claim when a seq_buf overflows Kees Cook
2026-10-05 18:59   ` David Laight
2026-10-05 15:56 ` [PATCH v5 06/12] seq_buf: Add seq_buf_strlen() Kees Cook
2026-10-05 15:56 ` [PATCH v5 07/12] seq_buf: Add seq_buf_terminate() Kees Cook
2026-10-05 15:56 ` [PATCH v5 08/12] bpf: Remove dead newline stripping from format_disasm_line() Kees Cook
2026-10-05 15:56 ` [PATCH v5 09/12] seq_buf: Add seq_buf_init_append() Kees Cook
2026-10-05 15:57 ` [PATCH v5 10/12] powerpc/papr_scm: Return the string length from the sysfs show functions Kees Cook
2026-10-05 15:57 ` [PATCH v5 11/12] nvdimm: ndtest: Return the string length from flags_show() Kees Cook
2026-10-05 15:57 ` [PATCH v5 12/12] docs: core-api: Document the seq_buf API Kees Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®