> diff --git a/tools/testing/selftests/bpf/prog_tests/usdt.c > b/tools/testing/selftests/bpf/prog_tests/usdt.c > index fda3a298ccfc..8004c9568ffa 100644 > --- a/tools/testing/selftests/bpf/prog_tests/usdt.c > +++ b/tools/testing/selftests/bpf/prog_tests/usdt.c
[ ... ] > @@ -340,6 +341,52 @@ static void subtest_optimized_attach(void) > cleanup: > test_usdt__destroy(skel); > } > + > +/* > + * Test that USDT arguments survive nop10 optimization in a function where > + * the compiler places operands in the red zone. > + * > + * Signal handlers are prone to having the compiler place USDT argument > + * operands in the red zone (below rsp). > + * > + * The nop5 optimization used CALL (which pushes a return address to > + * [rsp-8]), the value at -8(%rsp) was overwritten. The nop10 optimization > + * should escape that by moving stackpointer below the redzone before > + * doing the CALL. > + */ > +static void subtest_optimized_red_zone(void) This isn't a bug, but the four-line "nop5 optimization used CALL ..." explanation here reads nearly verbatim to the comment added above uprobe_red_zone_test() in prog_tests/uprobe_syscall.c. Since both tests probe the same mechanism, would a single copy (or a shorter note pointing at the other) be preferable, so the two don't drift apart? One small wording note: "moving stackpointer below the redzone" uses "stackpointer" and "redzone", while the rest of the change and the commit message use "stack pointer" and "red zone". --- 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/28514315910
