On Tue, Feb 22, 2022 at 7:09 PM Kumar Kartikeya Dwivedi <memxor@xxxxxxxxx> wrote: > > > + } > > > + btf_id_tag = true; > > > + } else if (!strncmp("kernel.", __btf_name_by_offset(btf, t->name_off), > > > + sizeof("kernel.") - 1)) { > > > + /* TODO: Should we reject these when loading BTF? */ > > > + /* Unavailable tag in reserved tag namespace */ > > > > I don't think we need to reserve the tag space. > > There is little risk to break progs with future tags. > > I would just drop this 'if'. > > > > Fine with dropping, but what is the expected behavior when userspace has set a > tag in map value BTF that we give some meaning in the kernel later? All of these features fall into the unstable category. kfuncs can disappear. kernel data structs can get renamed. dtor, kptr_get functions not only can change, but can be removed. When bpf progs are so tightly interacting with the kernel they have to change and adjust. Eventually we might bolt a bit of CO-RE like logic to kfunc and kptr to make things more portable, but it's too early to reserve a btf_tag prefix. Progs will change. We're not saving users any headache with reservation. Tracing bpf progs are not user space. That's the key.