Re: [PATCH v21 05/20] fprobe: Use ftrace_regs in fprobe entry handler

Masami Hiramatsu
2024-12-26T02:08:54Z

On Mon, 23 Dec 2024 16:42:38 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Tue, 10 Dec 2024 11:09:52 +0900
> "Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:
>
> > From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> >
> > This allows fprobes to be available with CONFIG_DYNAMIC_FTRACE_WITH_ARGS
> > instead of CONFIG_DYNAMIC_FTRACE_WITH_REGS, then we can enable fprobe
> > on arm64.
> >
> > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> Hmm, my build failed on this patch. Perhaps I screwed up the rebase to v6.13-rc4?

Oops, no. That is a bug, which is fixed in [9/20]. Let me fix it.

Thanks!

>
> Config attached:
>
> [3 seconds] SUCCESS
> make O=/work/build/nobackup/tracetest -j50 ... make[1]: Entering directory '/work/build/nobackup/tracetest'
> SYNC include/config/auto.conf.cmd
> GEN Makefile
> GEN Makefile
> mkdir -p /work/build/nobackup/tracetest/tools/objtool && make O=/work/build/nobackup/tracetest subdir=tools/objtool --no-print-directory -C objtool
> UPD include/config/kernel.release
> UPD include/generated/utsrelease.h
> INSTALL libsubcmd_headers
> CALL /work/build/trace/nobackup/linux-test.git/scripts/checksyscalls.sh
> CC init/version.o
> CC net/sched/sch_generic.o
> CC drivers/base/firmware_loader/main.o
> CC security/integrity/ima/ima_init.o
> CC kernel/sys.o
> CC kernel/module/main.o
> CC drivers/gpu/drm/drm_vblank.o
> CC kernel/time/time.o
> AR init/built-in.a
> CC drivers/gpu/drm/ttm/ttm_bo.o
> CC drivers/gpu/drm/ttm/ttm_bo_util.o
> CC drivers/gpu/drm/qxl/qxl_ttm.o
> CC kernel/trace/bpf_trace.o
> CC kernel/trace/fprobe.o
> CC kernel/trace/trace_fprobe.o
> AR security/integrity/ima/built-in.a
> AR security/integrity/built-in.a
> AR security/built-in.a
> /work/build/trace/nobackup/linux-test.git/kernel/trace/trace_fprobe.c: In function ‘__trace_fprobe_create’:
> /work/build/trace/nobackup/linux-test.git/kernel/trace/trace_fprobe.c:1223:38: error: assignment to ‘fprobe_entry_cb’ {aka ‘int (*)(struct fprobe *, long unsigned int, long unsigned int, struct ftrace_regs *, void *)’} from incompatible pointer type ‘int (*)(struct fpro
> be *, long unsigned int, long unsigned int, struct pt_regs *, void *)’ [-Wincompatible-pointer-types]
> 1223 | tf->fp.entry_handler = trace_fprobe_entry_handler;
> | ^
> make[5]: *** [/work/build/trace/nobackup/linux-test.git/scripts/Makefile.build:194: kernel/trace/trace_fprobe.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> AR drivers/gpu/drm/qxl/built-in.a
> AR drivers/base/firmware_loader/built-in.a
> AR drivers/base/built-in.a
> AR kernel/time/built-in.a
> AR drivers/gpu/drm/ttm/built-in.a
> AR drivers/gpu/drm/built-in.a
> AR drivers/gpu/built-in.a
> AR drivers/built-in.a
> AR net/sched/built-in.a
> AR net/built-in.a
> AR kernel/module/built-in.a
> make[4]: *** [/work/build/trace/nobackup/linux-test.git/scripts/Makefile.build:440: kernel/trace] Error 2
> make[3]: *** [/work/build/trace/nobackup/linux-test.git/scripts/Makefile.build:440: kernel] Error 2
> make[2]: *** [/work/build/trace/nobackup/linux-test.git/Makefile:1989: .] Error 2
> make[1]: *** [/work/build/trace/nobackup/linux-test.git/Makefile:251: __sub-make] Error 2
> make[1]: Leaving directory '/work/build/nobackup/tracetest'
> make: *** [Makefile:251: __sub-make] Error 2
> [10 seconds] FAILED!
> make O=/work/build/nobackup/tracetest kernelrelease ... 6.13.0-rc4-test-00005-g21a983830d78-dirty
> ssh -t root@tracetest 'rm -rf /lib/modules/*-test*'; git reset --hard ... HEAD is now at 21a983830d78 fprobe: Use ftrace_regs in fprobe entry handler
> [1 second] SUCCESS
> CRITICAL FAILURE... [TEST 3] failed build
>
> -- Steve

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>