On Tue, 2023-06-06 at 13:30 +0200, Toke Høiland-Jørgensen wrote: [...] > > As for bumping the version number, I don't think it's a good idea to > deliberately break compatibility this way unless it's absolutely > necessary. With "absolutely necessary" meaning "things will break in > subtle ways in any case, so it's better to make the breakage obvious". > But it libbpf is not checking the version field anyway, that becomes > kind of a moot point, as bumping it doesn't really gain us anything, > then... It seems to me that in terms of backward compatibility, the ability to specify the size for each kind entry is more valuable than the capability to add new BTF kinds: - The former allows for extending kind records in a backward-compatible manner, such as adding a function address to BTF_KIND_FUNC. - The latter is much more fragile. Types refer to each other, compatibility is already lost once a new "unknown" tag is introduced in a type chain. However, changing the size of existing BTF kinds is itself a backward-incompatible change. Therefore, a version bump may be warranted in this regard.