All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kumar Kartikeya Dwivedi" <memxor@gmail.com>
To: <bot+bpf-ci@kernel.org>, <bpf@vger.kernel.org>
Cc: <ast@kernel.org>, <andrii@kernel.org>, <daniel@iogearbox.net>,
	<eddyz87@gmail.com>, <emil@etsalapatis.com>, <tj@kernel.org>,
	<kkd@meta.com>, <kernel-team@meta.com>, <martin.lau@kernel.org>,
	<yonghong.song@linux.dev>, <mason@kernel.org>,
	<ihor.solodrai@linux.dev>
Subject: Re: [PATCH bpf-next v2 15/18] selftests/bpf: Give the 512-byte stack boundary tests a 2 KiB twin
Date: Thu, 24 Sep 2026 11:56:56 +0200	[thread overview]
Message-ID: <DLNGGVPEO7RM.P2G3TKXBCGCT@gmail.com> (raw)
In-Reply-To: <24dfe7fd22d578517f54fb854f4d76ebfa4414ec48b2fcc751b2045f88a624ae@mail.kernel.org>

On Thu Sep 24, 2026 at 11:13 AM CEST, bot+bpf-ci wrote:
>> diff --git a/tools/testing/selftests/bpf/progs/verifier_callx_rodata.c b/tools/testing/selftests/bpf/progs/verifier_callx_rodata.c
>> index af1f9305da37..e39202902be4 100644
>> --- a/tools/testing/selftests/bpf/progs/verifier_callx_rodata.c
>> +++ b/tools/testing/selftests/bpf/progs/verifier_callx_rodata.c
>
> [ ... ]
>
>> @@ -589,13 +589,58 @@ static unsigned long use_stack_304(void)
>>  	);
>>  }
>>
>> +
>> +/* Four 480-byte frames, deeper than any budget together with their caller */
>> +__naked __noinline __used
>> +static unsigned long use_stack_480_0(void)
>> +{
>> +	asm volatile (
>> +		"r0 = 0;"
>> +		"*(u64 *)(r10 - 480) = r0;"
>> +		"exit;"
>> +	);
>> +}
>> +
>> +__naked __noinline __used
>> +static unsigned long use_stack_480_1(void)
>> +{
>> +	asm volatile (
>> +		"r0 = 0;"
>> +		"*(u64 *)(r10 - 480) = r0;"
>> +		"call use_stack_480_0;"
>> +		"exit;"
>> +	);
>> +}
>> +
>> +__naked __noinline __used
>> +static unsigned long use_stack_480_2(void)
>> +{
>> +	asm volatile (
>> +		"r0 = 0;"
>> +		"*(u64 *)(r10 - 480) = r0;"
>> +		"call use_stack_480_1;"
>> +		"exit;"
>> +	);
>> +}
>> +
>> +__naked __noinline __used
>> +static unsigned long use_stack_480_3(void)
>> +{
>> +	asm volatile (
>> +		"r0 = 0;"
>> +		"*(u64 *)(r10 - 480) = r0;"
>> +		"call use_stack_480_2;"
>> +		"exit;"
>> +	);
>> +}
>> +
>>  /* stack of all possible callees is accounted */
>>  SEC("socket")
>> -__failure __msg("combined stack size of 2 calls is")
>> +__failure __msg("combined stack size of {{[0-9]+}} calls is")
>>  __naked void callx_rodata_stack_depth(void)
>>  {
>>  	asm volatile (
>> -		FUNC_TABLE2(tbl, ret0, use_stack_304)
>> +		FUNC_TABLE2(tbl, ret0, use_stack_480_3)
>>  		"r0 = 0;"
>>  		"*(u64 *)(r10 - 304) = r0;"
>>  		"call %[bpf_get_prandom_u32];"
>> @@ -613,11 +658,11 @@ __naked void callx_rodata_stack_depth(void)
>>
>>  /* stack of a callback that is read from the data is accounted too */
>>  SEC("socket")
>> -__failure __msg("combined stack size of 2 calls is")
>> +__failure __msg("combined stack size of {{[0-9]+}} calls is")
>>  __naked void callx_rodata_callback_stack_depth(void)
>>  {
>>  	asm volatile (
>> -		FUNC_TABLE2(tbl, use_stack_304, ret0)
>> +		FUNC_TABLE2(tbl, use_stack_480_3, ret0)
>>  		"r0 = 0;"
>>  		"*(u64 *)(r10 - 304) = r0;"
>>  		"r6 = tbl_%= ll;"
>
> This isn't a bug, but now that callx_rodata_stack_depth() and
> callx_rodata_callback_stack_depth() both use the use_stack_480_*
> chain, is use_stack_304() still needed in this file?
>
> In verifier_callx.c the function is still used by callx_stack_depth_ok(),
> but in verifier_callx_rodata.c nothing references it anymore. Could it be
> removed along with the extra blank line after it?
>

Dropped the unused use_stack_304() from verifier_callx_rodata.c for v3.

>
> ---
> AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
> See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md
>
> CI run summary: https://github.com/kernel-patches/bpf/actions/runs/35976322553


  reply	other threads:[~2026-09-24  9:57 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-24  8:25 [PATCH bpf-next v2 00/18] Raise BPF program stack size to 2KiB Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 01/18] bpf: Add accessors for verifier stack slots Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 02/18] bpf: Widen the stack slot index in the jump history Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 03/18] bpf: Store linked registers in the jump history as an array Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 04/18] bpf: Track backtracking stack slots with bitmaps Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 05/18] bpf: Track scratched stack slots with a bitmap Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 06/18] bpf: Treat unknown-size stack reads as reaching the frame top Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 07/18] bpf: Size liveness stack masks by the stack each frame uses Kumar Kartikeya Dwivedi
2026-09-24 15:12   ` Alexei Starovoitov
2026-09-24  8:25 ` [PATCH bpf-next v2 08/18] bpf: Grow the verifier id scratch on demand Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:55     ` Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 09/18] selftests/bpf: Cover the tail call caller stack depth limit Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 10/18] selftests/bpf: Check that narrow stack stores define no slot Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 11/18] selftests/bpf: Check liveness merge of masks with different widths Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 12/18] bpf: Size the per-frame verifier structures for a 2 KiB stack Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:56     ` Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 13/18] bpf: Bound program stack use by a per-program limit Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:56     ` Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 14/18] selftests/bpf: Add load conditions on the program stack limit Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 15/18] selftests/bpf: Give the 512-byte stack boundary tests a 2 KiB twin Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:56     ` Kumar Kartikeya Dwivedi [this message]
2026-09-24  8:25 ` [PATCH bpf-next v2 16/18] bpf, x86: Allow programs 2 KiB of stack Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:57     ` Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 17/18] bpf, arm64: " Kumar Kartikeya Dwivedi
2026-09-24  9:00   ` bot+bpf-ci
2026-09-24  9:57     ` Kumar Kartikeya Dwivedi
2026-09-24  8:25 ` [PATCH bpf-next v2 18/18] selftests/bpf: Test the 2 KiB stack budget Kumar Kartikeya Dwivedi
2026-09-24  9:13   ` bot+bpf-ci
2026-09-24  9:58     ` Kumar Kartikeya Dwivedi

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=DLNGGVPEO7RM.P2G3TKXBCGCT@gmail.com \
    --to=memxor@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bot+bpf-ci@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=emil@etsalapatis.com \
    --cc=ihor.solodrai@linux.dev \
    --cc=kernel-team@meta.com \
    --cc=kkd@meta.com \
    --cc=martin.lau@kernel.org \
    --cc=mason@kernel.org \
    --cc=tj@kernel.org \
    --cc=yonghong.song@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.