bpf: Add a verbose message if map limit is reached
authorAnton Protopopov <aspsk@isovalent.com>
Tue, 2 Apr 2024 07:33:47 +0000 (07:33 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 2 Apr 2024 14:12:00 +0000 (16:12 +0200)
When more than 64 maps are used by a program and its subprograms the
verifier returns -E2BIG. Add a verbose message which highlights the
source of the error and also print the actual limit.

Signed-off-by: Anton Protopopov <aspsk@isovalent.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yonghong.song@linux.dev>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20240402073347.195920-1-aspsk@isovalent.com
kernel/bpf/verifier.c

index edb650667f44d753e195628edcc82279d008b41b..fcb62300f4070ef1138b930dfae86135ea16a907 100644 (file)
@@ -18348,6 +18348,8 @@ static int resolve_pseudo_ldimm64(struct bpf_verifier_env *env)
                        }
 
                        if (env->used_map_cnt >= MAX_USED_MAPS) {
+                               verbose(env, "The total number of maps per program has reached the limit of %u\n",
+                                       MAX_USED_MAPS);
                                fdput(f);
                                return -E2BIG;
                        }