mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
bpf: Fix missing -EFAULT return on user log buf error in btf_parse()
btf_parse() is missing -EFAULT error return if log->ubuf was NULL-ed out due to error while copying data into user-provided buffer. Add it, but handle a special case of BPF_LOG_KERNEL in which log->ubuf is always NULL. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Lorenz Bauer <lmb@isovalent.com> Link: https://lore.kernel.org/bpf/20230406234205.323208-9-andrii@kernel.org
This commit is contained in:
parent
24bc80887a
commit
971fb5057d
1 changed files with 4 additions and 0 deletions
|
@ -5598,6 +5598,10 @@ static struct btf *btf_parse(bpfptr_t btf_data, u32 btf_data_size,
|
|||
err = -ENOSPC;
|
||||
goto errout_meta;
|
||||
}
|
||||
if (log->level && log->level != BPF_LOG_KERNEL && !log->ubuf) {
|
||||
err = -EFAULT;
|
||||
goto errout_meta;
|
||||
}
|
||||
|
||||
btf_verifier_env_free(env);
|
||||
refcount_set(&btf->refcnt, 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue