bpf: Return -ENOTSUPP when attaching to non-kernel BTF
Return -ENOTSUPP if tracing BPF program is attempted to be attached with specified attach_btf_obj_fd pointing to non-kernel (neither vmlinux nor module) BTF object. This scenario might be supported in the future and isn't outright invalid, so -EINVAL isn't the most appropriate error code. Suggested-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20201208064326.667389-1-andrii@kernel.org
This commit is contained in:
Родитель
3546b9b8ec
Коммит
8bdd8e275e
|
@ -2121,8 +2121,11 @@ static int bpf_prog_load(union bpf_attr *attr, union bpf_attr __user *uattr)
|
|||
if (IS_ERR(attach_btf))
|
||||
return -EINVAL;
|
||||
if (!btf_is_kernel(attach_btf)) {
|
||||
/* attaching through specifying bpf_prog's BTF
|
||||
* objects directly might be supported eventually
|
||||
*/
|
||||
btf_put(attach_btf);
|
||||
return -EINVAL;
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
}
|
||||
} else if (attr->attach_btf_id) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче