From: sashiko-bot@kernel.org
To: "Kees Cook" <kees@kernel.org>
Cc: linux-security-module@vger.kernel.org, bpf@vger.kernel.org,
linux-trace-kernel@vger.kernel.org
Subject: Re: [PATCH v3 02/11] seq_buf: Do not pop from an overflowed seq_buf
Date: Wed, 30 Sep 2026 23:59:02 +0000 [thread overview]
Message-ID: <20260930235903.71A481F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260930235247.157921-2-kees@kernel.org>
> When a seq_buf has overflowed, its len is size + 1, so seq_buf_pop()
> decrements len to size and reads buffer[size], one byte past the end of
> the buffer. It also leaves len equal to size, which no longer counts as
> overflowed, so a truncated seq_buf then looks like a complete, full one.
>
> An overflowed seq_buf logically has no last character to pop: the
> length of what was written has been lost, and the last byte of the
> buffer may be the NUL written by vsnprintf() or bytes that were never
> committed. Return -1 for an overflowed seq_buf, as for an empty one,
> and leave it overflowed, as the rest of the seq_buf API does until
> seq_buf_clear() or seq_buf_init().
>
> The current callers do not reach this, e.g. trace_syscalls only calls
> trace_seq_pop() when the trace_seq it pops from has not overflowed, and
> kernel/bpf/diagnostics.c sets the length from strnlen() before popping.
>
> Add tests for the pop corner cases.
>
> Tests passed under qemu on ARCH=x86_64 with GCC 16.2.0 and CONFIG_KASAN=y,
> and on big-endian ARCH=s390 with GCC s390x-linux-gnu 16.1.0.
>
> Fixes: 32e0f607ac6a2 ("tracing: Add trace_seq_pop() and seq_buf_pop()")
> Assisted-by: LLM
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Kees Cook <kees@kernel.org>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260930235231.out.387-kees@kernel.org?part=2
next prev parent reply other threads:[~2026-09-30 23:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 23:52 [PATCH v3 00/11] seq_buf: Add seq_buf_strlen() Kees Cook
2026-09-30 23:52 ` [PATCH v3 01/11] seq_buf: Do not print an empty line from an overflowed seq_buf_do_printk() Kees Cook
2026-10-02 7:32 ` Andy Shevchenko
2026-10-03 2:14 ` Kees Cook
2026-09-30 23:52 ` [PATCH v3 02/11] seq_buf: Do not pop from an overflowed seq_buf Kees Cook
2026-09-30 23:59 ` sashiko-bot [this message]
2026-09-30 23:52 ` [PATCH v3 03/11] seq_buf: Copy what fits when seq_buf_puts() and seq_buf_putmem() overflow Kees Cook
2026-09-30 23:52 ` [PATCH v3 04/11] seq_buf: Clear what a writer did not claim when a seq_buf overflows Kees Cook
2026-09-30 23:52 ` [PATCH v3 05/11] seq_buf: Add seq_buf_strlen() Kees Cook
2026-09-30 23:52 ` [PATCH v3 06/11] seq_buf: Add seq_buf_terminate() Kees Cook
2026-09-30 23:52 ` [PATCH v3 07/11] bpf: Remove dead newline stripping from format_disasm_line() Kees Cook
2026-09-30 23:52 ` [PATCH v3 08/11] seq_buf: Add seq_buf_init_append() Kees Cook
2026-10-02 7:20 ` Andy Shevchenko
2026-10-03 2:04 ` Kees Cook
2026-09-30 23:52 ` [PATCH v3 09/11] powerpc/papr_scm: Return the string length from the sysfs show functions Kees Cook
2026-10-01 4:17 ` Madhavan Srinivasan
2026-10-02 7:54 ` Kees Cook
2026-09-30 23:52 ` [PATCH v3 10/11] nvdimm: ndtest: Return the string length from flags_show() Kees Cook
2026-10-01 5:40 ` Alison Schofield
2026-10-01 23:39 ` Alison Schofield
2026-10-03 2:17 ` Kees Cook
2026-09-30 23:52 ` [PATCH v3 11/11] docs: core-api: Document the seq_buf API Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260930235903.71A481F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=kees@kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.