All of lore.kernel.org
 help / color / mirror / Atom feed
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 v2 2/9] seq_buf: Do not pop from an overflowed seq_buf
Date: Sat, 19 Sep 2026 00:34:26 +0000	[thread overview]
Message-ID: <20260919003426.BE55E1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260919002714.4060307-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/20260919002658.stay.929-kees@kernel.org?part=2


  reply	other threads:[~2026-09-19  0:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-19  0:26 [PATCH v2 0/9] seq_buf: Add seq_buf_strlen() Kees Cook
2026-09-19  0:26 ` [PATCH v2 1/9] seq_buf: Do not print an empty line from an overflowed seq_buf_do_printk() Kees Cook
2026-09-19  0:27 ` [PATCH v2 2/9] seq_buf: Do not pop from an overflowed seq_buf Kees Cook
2026-09-19  0:34   ` sashiko-bot [this message]
2026-09-19  0:27 ` [PATCH v2 3/9] seq_buf: Copy what fits when seq_buf_puts() and seq_buf_putmem() overflow Kees Cook
2026-09-19  0:27 ` [PATCH v2 4/9] seq_buf: Clear what a writer did not claim when a seq_buf overflows Kees Cook
2026-09-19  0:27 ` [PATCH v2 5/9] seq_buf: Add seq_buf_strlen() Kees Cook
2026-09-19  7:38   ` Greg KH
2026-09-19 21:15     ` Kees Cook
2026-09-20  5:34       ` Greg KH
2026-09-20  8:58         ` David Laight
2026-09-30  2:28         ` Kees Cook
2026-09-21  9:46   ` Steven Rostedt
2026-09-30  2:31     ` Kees Cook
2026-09-19  0:27 ` [PATCH v2 6/9] seq_buf: Add seq_buf_init_append() Kees Cook
2026-09-19  0:27 ` [PATCH v2 7/9] powerpc/papr_scm: Return the string length from the sysfs show functions Kees Cook
2026-09-19  0:27 ` [PATCH v2 8/9] nvdimm: ndtest: Return the string length from flags_show() Kees Cook
2026-09-19  0:27 ` [PATCH v2 9/9] docs: core-api: Document the seq_buf API Kees Cook
2026-09-19  1:54   ` Randy Dunlap

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=20260919003426.BE55E1F000FF@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.