On Tue, Dec 01, 2020 at 04:16:12PM -0800, Andrii Nakryiko wrote:
> diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> index c3458ec1f30a..60b95b51ccb8 100644
> --- a/include/uapi/linux/bpf.h
> +++ b/include/uapi/linux/bpf.h
> @@ -558,6 +558,7 @@ union bpf_attr {
>               __u32           line_info_cnt;  /* number of bpf_line_info 
> records */
>               __u32           attach_btf_id;  /* in-kernel BTF type id to 
> attach to */
>               __u32           attach_prog_fd; /* 0 to attach to vmlinux */
> +             __u32           attach_btf_obj_id; /* vmlinux/module BTF object 
> ID for BTF type */

I think the uapi should use attach_btf_obj_fd here.
Everywhere else uapi is using FDs to point to maps, progs, BTFs of progs.
BTF of a module isn't different from BTF of a program.
Looking at libbpf implementation... it has the FD of a module anyway,
since it needs to fetch it to search for the function btf_id in there.
So there won't be any inconvenience for libbpf to pass FD in here.
>From the uapi perspective attach_btf_obj_fd will remove potential
race condition. It's very unlikely race, of course.

The rest of the series look good to me.

Reply via email to