Re: [PATCH v6 bpf-next 10/14] bpf: allow to specify kernel module BTFs when attaching BPF programs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 3, 2020 at 5:54 PM Alexei Starovoitov
<alexei.starovoitov@xxxxxxxxx> wrote:
>
> 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.

The problem is that there is no link from BTF to bpf_prog. And
multiple instances of bpf_progs can re-use the same BTF object and the
same BTF type ID. That would need to be resolved somehow.

But keeping our options open is a good idea either way. So I'll send a
patch to switch this to -EOPNOTSUPP (I think that's the one we need to
use for user-space).

> 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?



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux