On Thu, Dec 03, 2020 at 12:46:30PM -0800, Andrii Nakryiko wrote:
> +     if (attr->attach_prog_fd) {
> +             dst_prog = bpf_prog_get(attr->attach_prog_fd);
> +             if (IS_ERR(dst_prog)) {
> +                     dst_prog = NULL;
> +                     attach_btf = btf_get_by_fd(attr->attach_btf_obj_fd);
> +                     if (IS_ERR(attach_btf))
> +                             return -EINVAL;
> +                     if (!btf_is_kernel(attach_btf)) {
> +                             btf_put(attach_btf);
> +                             return -EINVAL;

Applied, but please consider follow up with different err code here.
I think we might support this case in the future.
Specifying prog's BTF as a base and attach_btf_id within it might make
user space simpler in some cases. prog's btf covers the whole elf file.
Where prog_fd is a specific prog. That narrow scope isn't really necessary.
So may be return ENOTSUPP here for now? With a hint that this might
work in the future?

Reply via email to