mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 18:13:41 +02:00
bpf, btf: Enforce destructor kfunc type with CFI
Ensure that registered destructor kfuncs have the same type as btf_dtor_kfunc_t to avoid a kernel panic on systems with CONFIG_CFI enabled. Signed-off-by: Sami Tolvanen <samitolvanen@google.com> Acked-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20260110082548.113748-10-samitolvanen@google.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
ba7f1024a1
commit
99fde4d062
|
|
@ -8846,6 +8846,13 @@ static int btf_check_dtor_kfuncs(struct btf *btf, const struct btf_id_dtor_kfunc
|
||||||
*/
|
*/
|
||||||
if (!t || !btf_type_is_ptr(t))
|
if (!t || !btf_type_is_ptr(t))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (IS_ENABLED(CONFIG_CFI_CLANG)) {
|
||||||
|
/* Ensure the destructor kfunc type matches btf_dtor_kfunc_t */
|
||||||
|
t = btf_type_by_id(btf, t->type);
|
||||||
|
if (!btf_type_is_void(t))
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user