Re: [PATCH dwarves] btf: Generate btf for functions in the .BTF_ids section

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

 



On Wed, Apr 28, 2021 at 6:10 AM Arnaldo Carvalho de Melo
<arnaldo.melo@xxxxxxxxx> wrote:
>
> Em Tue, Apr 27, 2021 at 01:38:51PM -0700, Andrii Nakryiko escreveu:
> > On Tue, Apr 27, 2021 at 5:34 AM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> > > And tools that expect to trace a function can get that information from
> > > the BTF info instead of getting some failure when trying to trace those
> > > functions, right?
>
> > I don't think it belongs in BTF, though.
>
> My thinking was that since BTF is used when tracing, one would be
> interested in knowing if some functions can't be used for that.
>
> > Plus there are additional limitations enforced by BPF verifier that
> > will prevent some functions to be attached. So just because the
> > function is in BTF doesn't mean it's 100% attachable.
>
> Well, at least we would avoid some that can't for sure be used for
> tracing. But, a bit in there is precious, so probably geting a NACK from
> the kernel should be a good enough capability query. :-)
>
> Tools should just silently prune things in wildcards provided by the
> user that aren't traceable, silently, and provide an error message when
> the user explicitely asks for tracing a verbotten function.

Yep, that's what I'm doing in my retsnoop tool (I both filter by
available kprobes [0], and have extra blacklist [1]). Loading kprobes
is pretty simple and fast enough, shouldn't be a problem.

  [0] https://github.com/anakryiko/retsnoop/blob/master/src/mass_attacher.c#L495
  [1] https://github.com/anakryiko/retsnoop/blob/master/src/mass_attacher.c#L41


>
> - Arnaldo



[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