On 2021/12/25 4:32 PM, Qiang Wang wrote: > If repeated legacy kprobes on same function in one process, > libbpf will register using the same probe name and got -EBUSY > error. So append index to the probe name format to fix this > problem. > > Co-developed-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> > Signed-off-by: Qiang Wang <wangqiang.wq.frank@xxxxxxxxxxxxx> > Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> > --- > tools/lib/bpf/libbpf.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index b7d6c951fa09..0c41a45ffd54 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -9634,7 +9634,9 @@ static int append_to_file(const char *file, const char *fmt, ...) > static void gen_kprobe_legacy_event_name(char *buf, size_t buf_sz, > const char *kfunc_name, size_t offset) > { > - snprintf(buf, buf_sz, "libbpf_%u_%s_0x%zx", getpid(), kfunc_name, offset); > + static int index = 0; Add empty line after variable declaration. > + snprintf(buf, buf_sz, "libbpf_%u_%s_0x%zx_%d", getpid(), kfunc_name, offset Missing a comma after offset. > + __sync_fetch_and_add(&index, 1)); > } > > static int add_kprobe_event_legacy(const char *probe_name, bool retprobe,