Messages in this thread | | | From | Alexei Starovoitov <> | Date | Tue, 1 Aug 2023 16:44:24 -0700 | Subject | Re: [PATCH v4 3/9] bpf/btf: Add a function to search a member of a struct/union |
| |
On Tue, Aug 1, 2023 at 4:09 PM Steven Rostedt <rostedt@goodmis.org> wrote> > Then I recommend that you give up using fprobes and just stick with kprobes > as that's guaranteed to give you full pt_regs (at the overhead of doing > things like filing in flags and such). And currently for arm64, fprobes can > only work with ftrace_regs, without the full pt_regs.
bpf doesn't attach to fprobes directly. That was never requested. But Jiri's work to support multi attach https://lore.kernel.org/bpf/20220316122419.933957-1-jolsa@kernel.org/ was a joint effort with Masami that relied on fprobe multi attach api. register_fprobe_ips() in particular, because the promise you guys give us that callback will get pt_regs as described in Documentation/trace/fprobe.rst. From bpf side we don't care that such pt_regs is 100% filled in or only partial as long as this pt_regs pointer is valid for perf_event_output and stack walking that consume pt_regs. I believe that was and still is the case for both x86 and arm64.
The way I understood Masami's intent is to change that promise and fprobe callback will receive ftrace_regs that is incompatible with pt_regs and that's obviously bad. What you're suggesting "give up on using fprobe" is not up to us. We're not using them. We care about register_fprobe_ips() and what callback receives. Whatever internal changes to fprobe you're doing are ok as long as the callback receives valid pt_regs (even partially filled).
| |