Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests: bpf: move sub-register zero extension checks into subreg.c

It is better to centralize all sub-register zero extension checks into an
independent file.

This patch takes the first step to move existing sub-register zero
extension checks into subreg.c.

Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>

authored by

Jiong Wang and committed by
Daniel Borkmann
9e084bb9 bd95e678

+39 -39
-39
tools/testing/selftests/bpf/verifier/basic_instr.c
··· 132 132 .prog_type = BPF_PROG_TYPE_SCHED_CLS, 133 133 .result = ACCEPT, 134 134 }, 135 - { 136 - "and32 reg zero extend check", 137 - .insns = { 138 - BPF_MOV64_IMM(BPF_REG_0, -1), 139 - BPF_MOV64_IMM(BPF_REG_2, -2), 140 - BPF_ALU32_REG(BPF_AND, BPF_REG_0, BPF_REG_2), 141 - BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 142 - BPF_EXIT_INSN(), 143 - }, 144 - .prog_type = BPF_PROG_TYPE_SCHED_CLS, 145 - .result = ACCEPT, 146 - .retval = 0, 147 - }, 148 - { 149 - "or32 reg zero extend check", 150 - .insns = { 151 - BPF_MOV64_IMM(BPF_REG_0, -1), 152 - BPF_MOV64_IMM(BPF_REG_2, -2), 153 - BPF_ALU32_REG(BPF_OR, BPF_REG_0, BPF_REG_2), 154 - BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 155 - BPF_EXIT_INSN(), 156 - }, 157 - .prog_type = BPF_PROG_TYPE_SCHED_CLS, 158 - .result = ACCEPT, 159 - .retval = 0, 160 - }, 161 - { 162 - "xor32 reg zero extend check", 163 - .insns = { 164 - BPF_MOV64_IMM(BPF_REG_0, -1), 165 - BPF_MOV64_IMM(BPF_REG_2, 0), 166 - BPF_ALU32_REG(BPF_XOR, BPF_REG_0, BPF_REG_2), 167 - BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 168 - BPF_EXIT_INSN(), 169 - }, 170 - .prog_type = BPF_PROG_TYPE_SCHED_CLS, 171 - .result = ACCEPT, 172 - .retval = 0, 173 - },
+39
tools/testing/selftests/bpf/verifier/subreg.c
··· 1 + { 2 + "or32 reg zero extend check", 3 + .insns = { 4 + BPF_MOV64_IMM(BPF_REG_0, -1), 5 + BPF_MOV64_IMM(BPF_REG_2, -2), 6 + BPF_ALU32_REG(BPF_OR, BPF_REG_0, BPF_REG_2), 7 + BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 8 + BPF_EXIT_INSN(), 9 + }, 10 + .prog_type = BPF_PROG_TYPE_SCHED_CLS, 11 + .result = ACCEPT, 12 + .retval = 0, 13 + }, 14 + { 15 + "and32 reg zero extend check", 16 + .insns = { 17 + BPF_MOV64_IMM(BPF_REG_0, -1), 18 + BPF_MOV64_IMM(BPF_REG_2, -2), 19 + BPF_ALU32_REG(BPF_AND, BPF_REG_0, BPF_REG_2), 20 + BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 21 + BPF_EXIT_INSN(), 22 + }, 23 + .prog_type = BPF_PROG_TYPE_SCHED_CLS, 24 + .result = ACCEPT, 25 + .retval = 0, 26 + }, 27 + { 28 + "xor32 reg zero extend check", 29 + .insns = { 30 + BPF_MOV64_IMM(BPF_REG_0, -1), 31 + BPF_MOV64_IMM(BPF_REG_2, 0), 32 + BPF_ALU32_REG(BPF_XOR, BPF_REG_0, BPF_REG_2), 33 + BPF_ALU64_IMM(BPF_RSH, BPF_REG_0, 32), 34 + BPF_EXIT_INSN(), 35 + }, 36 + .prog_type = BPF_PROG_TYPE_SCHED_CLS, 37 + .result = ACCEPT, 38 + .retval = 0, 39 + },