diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index adb3adcebe3c5ac0707ed38c8a184504b67aa2f7..722d38e543e9ee6d193b676162466d0dd34f152c 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -2377,9 +2377,8 @@ static s32 btf_enum_check_meta(struct btf_verifier_env *env, return -EINVAL; } - if (t->size != sizeof(int)) { - btf_verifier_log_type(env, t, "Expected size:%zu", - sizeof(int)); + if (t->size > 8 || !is_power_of_2(t->size)) { + btf_verifier_log_type(env, t, "Unexpected size"); return -EINVAL; }