On Fri, Aug 1, 2025 at 8:06 AM Steven Rostedt <rost...@goodmis.org> wrote: > > On Fri, 1 Aug 2025 08:02:24 -0700 > Alexei Starovoitov <alexei.starovoi...@gmail.com> wrote: > > > > diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c > > > index 1d2cf898e21e..480657912c96 100644 > > > --- a/kernel/bpf/btf.c > > > +++ b/kernel/bpf/btf.c > > > @@ -3788,7 +3788,7 @@ static int btf_parse_kptr(const struct btf *btf, > > > struct btf_field *field, > > > /* If a matching btf type is found in kernel or module BTFs, > > > kptr_ref > > > * is that BTF, otherwise it's program BTF > > > */ > > > - struct btf *kptr_btf; > > > + struct btf *kptr_btf __free(btf_put) = NULL; > > > > Sorry I hate this __free() style. > > It's not a simplification, but an obfuscation of code and logic. > > Well, it's becoming more common. But you are in control of this, so it's > your decision. I wanted this just to get rid of the gotos in my code.
You can use it in kernel/trace/trace_output.c, of course, but I really think it's a step back in maintainability. All this cleanup.h is not a silver bullet. It needs to be used sparingly.