Re: [PATCH Linux-next] perf test: Fix test case perf trace BTF general tests

Namhyung Kim
2025-11-19T04:36:52Z

On Tue, Nov 18, 2025 at 01:24:51PM -0500, Steven Rostedt wrote:
> On Mon, 17 Nov 2025 22:43:21 -0800
> Namhyung Kim <namhyung@kernel.org> wrote:
>
> > > bash-5.3# uname -a
> > > Linux f43 6.18.0-rc5-next-20251114tmr-n #1 SMP PREEMPT_DYNAMIC Mon Nov 17 11:24:02 CET 2025 x86_64 GNU/Linux
> > > bash-5.3# cat /sys/kernel/tracing/events/syscalls/sys_enter_write/format
> > > name: sys_enter_write
> > > ID: 758
> > > format:
> > > field:unsigned short common_type; offset:0; size:2; signed:0;
> > > field:unsigned char common_flags; offset:2; size:1; signed:0;
> > > field:unsigned char common_preempt_count; offset:3; size:1; signed:0;
> > > field:int common_pid; offset:4; size:4; signed:1;
> > >
> > > field:int __syscall_nr; offset:8; size:4; signed:1;
> > > field:unsigned int fd; offset:16; size:8; signed:0;
> > > field:const char * buf; offset:24; size:8; signed:0;
> > > field:size_t count; offset:32; size:8; signed:0;
> > > field:__data_loc char[] __buf_val; offset:40; size:4; signed:0;
> >
> > Indeed, I see this new field __buf_val.
> >
> > Steve, is this what you added recently for taking user contents?
>
> Yes.
>
> > Hmm.. this makes perf trace confused wrt the syscall parameters.
> > Is it always __buf_val or has any patterns?
>
> Really? It still uses libtraceevent right? I made sure that this didn't
> break trace-cmd and thought that perf would work too.

It doesn't completely break perf trace but added new parameter for the
write syscall at the end. IIUC perf trace iterates the format fields
after __syscall_nr and take them all as syscall parameters.

Thanks,
Namhyung