]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bpf: clarify a misleading verifier error message
authorAndrea Terzolo <andreaterzolo3@gmail.com>
Tue, 18 Mar 2025 08:35:45 +0000 (09:35 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 19 Mar 2025 02:11:23 +0000 (19:11 -0700)
The current verifier error message states that tail_calls are not
allowed in non-JITed programs with BPF-to-BPF calls. While this is
accurate, it is not the only scenario where this restriction applies.
Some architectures do not support this feature combination even when
programs are JITed. This update improves the error message to better
reflect these limitations.

Suggested-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Signed-off-by: Andrea Terzolo <andreaterzolo3@gmail.com>
Acked-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Link: https://lore.kernel.org/r/20250318083551.8192-1-andreaterzolo3@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c

index 19ece8893d38d5e69ebdef7fd261c335caba1c4d..9f8cbd5c61bc6dc69931c67615f802700d34d1e7 100644 (file)
@@ -9887,7 +9887,7 @@ static int check_map_func_compatibility(struct bpf_verifier_env *env,
                if (map->map_type != BPF_MAP_TYPE_PROG_ARRAY)
                        goto error;
                if (env->subprog_cnt > 1 && !allow_tail_call_in_subprogs(env)) {
-                       verbose(env, "tail_calls are not allowed in non-JITed programs with bpf-to-bpf calls\n");
+                       verbose(env, "mixing of tail_calls and bpf-to-bpf calls is not supported\n");
                        return -EINVAL;
                }
                break;