Re: [PATCH] libbpf: Use the correct fd when attaching to perf events

From: Andrii Nakryiko
Date: Fri Mar 12 2021 - 20:32:48 EST


On Fri, Mar 12, 2021 at 1:43 PM Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx> wrote:
>
> From: Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx>
>
> We should be using the program fd here, not the perf event fd.

Why? Can you elaborate on what issue you ran into with the current code?

>
> Fixes: 63f2f5ee856ba ("libbpf: add ability to attach/detach BPF program to perf event")
> Signed-off-by: Sultan Alsawaf <sultan@xxxxxxxxxxxxxxx>
> ---
> tools/lib/bpf/libbpf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
> index d43cc3f29dae..3d20d57d4af5 100644
> --- a/tools/lib/bpf/libbpf.c
> +++ b/tools/lib/bpf/libbpf.c
> @@ -9538,7 +9538,7 @@ struct bpf_link *bpf_program__attach_perf_event(struct bpf_program *prog,
> if (!link)
> return ERR_PTR(-ENOMEM);
> link->detach = &bpf_link__detach_perf_event;
> - link->fd = pfd;
> + link->fd = prog_fd;
>
> if (ioctl(pfd, PERF_EVENT_IOC_SET_BPF, prog_fd) < 0) {
> err = -errno;
> --
> 2.30.2
>