OSDN Git Service

bpf/tests: Add test case flag for verifier zero-extension
authorJohan Almbladh <johan.almbladh@anyfinetworks.com>
Tue, 14 Sep 2021 09:18:36 +0000 (11:18 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 28 Sep 2021 07:26:28 +0000 (09:26 +0200)
This patch adds a new flag to indicate that the verified did insert
zero-extensions, even though the verifier is not being run for any
of the tests.

Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210914091842.4186267-9-johan.almbladh@anyfinetworks.com
lib/test_bpf.c

index 8aef42c..0c1c8cc 100644 (file)
@@ -52,6 +52,7 @@
 #define FLAG_NO_DATA           BIT(0)
 #define FLAG_EXPECTED_FAIL     BIT(1)
 #define FLAG_SKB_FRAG          BIT(2)
+#define FLAG_VERIFIER_ZEXT     BIT(3)
 
 enum {
        CLASSIC  = BIT(6),      /* Old BPF instructions only. */
@@ -11280,6 +11281,8 @@ static struct bpf_prog *generate_filter(int which, int *err)
                fp->type = BPF_PROG_TYPE_SOCKET_FILTER;
                memcpy(fp->insnsi, fptr, fp->len * sizeof(struct bpf_insn));
                fp->aux->stack_depth = tests[which].stack_depth;
+               fp->aux->verifier_zext = !!(tests[which].aux &
+                                           FLAG_VERIFIER_ZEXT);
 
                /* We cannot error here as we don't need type compatibility
                 * checks.