libbpf: BTF validation can use layout for unknown kinds

BTF parsing can use layout to navigate unknown kinds, so
btf_validate_type() should take layout information into
account to avoid failure when an unrecognized kind is met.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20260326145444.2076244-6-alan.maguire@oracle.com
This commit is contained in:
Alan Maguire
2026-03-26 13:53:56 -07:00
committed by Andrii Nakryiko
parent d686d92c40
commit 6ad8928599
+6 -2
View File
@@ -746,8 +746,12 @@ static int btf_validate_type(const struct btf *btf, const struct btf_type *t, __
break;
}
default:
pr_warn("btf: type [%u]: unrecognized kind %u\n", id, kind);
return -EINVAL;
/* Kind may be represented in kind layout information. */
if (btf_type_size_unknown(btf, t) < 0) {
pr_warn("btf: type [%u]: unrecognized kind %u\n", id, kind);
return -EINVAL;
}
break;
}
return 0;
}