summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrii Nakryiko <andrii@kernel.org>2023-04-06 16:41:55 -0700
committerDaniel Borkmann <daniel@iogearbox.net>2023-04-11 18:05:43 +0200
commitcbedb42a0da3bb48819b2200af4b4cb5d922c518 (patch)
tree402095837ef7b58c81bd4dbd09b4182f3817e21a
parent971fb5057d787d0a7e7c8cb910207c82e2db920e (diff)
downloadlinux-stable-cbedb42a0da3bb48819b2200af4b4cb5d922c518.tar.gz
linux-stable-cbedb42a0da3bb48819b2200af4b4cb5d922c518.tar.bz2
linux-stable-cbedb42a0da3bb48819b2200af4b4cb5d922c518.zip
bpf: Avoid incorrect -EFAULT error in BPF_LOG_KERNEL mode
If verifier log is in BPF_LOG_KERNEL mode, no log->ubuf is expected and it stays NULL throughout entire verification process. Don't erroneously return -EFAULT in such case. 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-10-andrii@kernel.org
-rw-r--r--kernel/bpf/verifier.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index a476bb319685..0323149803f5 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -18863,7 +18863,7 @@ skip_full_check:
bpf_vlog_finalize(log);
if (log->level && bpf_vlog_truncated(log))
ret = -ENOSPC;
- if (log->level && !log->ubuf) {
+ if (log->level && log->level != BPF_LOG_KERNEL && !log->ubuf) {
ret = -EFAULT;
goto err_release_maps;
}