]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bpf: Add a verbose message when the BTF limit is reached
authorAnton Protopopov <a.s.protopopov@gmail.com>
Sat, 16 Aug 2025 15:15:54 +0000 (15:15 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 18 Aug 2025 15:27:01 +0000 (17:27 +0200)
When a BPF program which is being loaded reaches the map limit
(MAX_USED_MAPS) or the BTF limit (MAX_USED_BTFS) the -E2BIG is
returned. However, in the former case there is an accompanying
verifier verbose message, and in the latter case there is not.
Add a verbose message to make the behaviour symmetrical.

Reported-by: Kevin Sheldrake <kevin.sheldrake@isovalent.com>
Signed-off-by: Anton Protopopov <a.s.protopopov@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20250816151554.902995-1-a.s.protopopov@gmail.com
kernel/bpf/verifier.c

index 3a3982fe20d48ab40e0b726728564a3dfc3a2016..07cc4a738c678753cdf9893823ac6ebf2b6be70a 100644 (file)
@@ -20193,8 +20193,11 @@ static int __add_used_btf(struct bpf_verifier_env *env, struct btf *btf)
                if (env->used_btfs[i].btf == btf)
                        return i;
 
-       if (env->used_btf_cnt >= MAX_USED_BTFS)
+       if (env->used_btf_cnt >= MAX_USED_BTFS) {
+               verbose(env, "The total number of btfs per program has reached the limit of %u\n",
+                       MAX_USED_BTFS);
                return -E2BIG;
+       }
 
        btf_get(btf);