Agreed on both, changed in v4 (patch 4/12): https://lore.kernel.org/bpf/[email protected]/
Only -ENOMEM from btf_parse_vmlinux() is left uncached with =m; any other failure is a broken BTF and is remembered as with =y, so it is parsed once, not again by every later request. And /sys/kernel/btf/vmlinux now serves the raw bytes whenever btf_vmlinux.ko supplied them, whether they parse or not, as with =y. Jay
