|
@@ -4222,6 +4222,20 @@ static struct bpf_test tests[] = {
|
|
|
{ },
|
|
|
{ { 0, 1 } },
|
|
|
},
|
|
|
+ {
|
|
|
+ "JMP_JGT_K: Unsigned jump: if (-1 > 1) return 1",
|
|
|
+ .u.insns_int = {
|
|
|
+ BPF_ALU32_IMM(BPF_MOV, R0, 0),
|
|
|
+ BPF_LD_IMM64(R1, -1),
|
|
|
+ BPF_JMP_IMM(BPF_JGT, R1, 1, 1),
|
|
|
+ BPF_EXIT_INSN(),
|
|
|
+ BPF_ALU32_IMM(BPF_MOV, R0, 1),
|
|
|
+ BPF_EXIT_INSN(),
|
|
|
+ },
|
|
|
+ INTERNAL,
|
|
|
+ { },
|
|
|
+ { { 0, 1 } },
|
|
|
+ },
|
|
|
/* BPF_JMP | BPF_JGE | BPF_K */
|
|
|
{
|
|
|
"JMP_JGE_K: if (3 >= 2) return 1",
|
|
@@ -4404,6 +4418,21 @@ static struct bpf_test tests[] = {
|
|
|
{ },
|
|
|
{ { 0, 1 } },
|
|
|
},
|
|
|
+ {
|
|
|
+ "JMP_JGT_X: Unsigned jump: if (-1 > 1) return 1",
|
|
|
+ .u.insns_int = {
|
|
|
+ BPF_ALU32_IMM(BPF_MOV, R0, 0),
|
|
|
+ BPF_LD_IMM64(R1, -1),
|
|
|
+ BPF_LD_IMM64(R2, 1),
|
|
|
+ BPF_JMP_REG(BPF_JGT, R1, R2, 1),
|
|
|
+ BPF_EXIT_INSN(),
|
|
|
+ BPF_ALU32_IMM(BPF_MOV, R0, 1),
|
|
|
+ BPF_EXIT_INSN(),
|
|
|
+ },
|
|
|
+ INTERNAL,
|
|
|
+ { },
|
|
|
+ { { 0, 1 } },
|
|
|
+ },
|
|
|
/* BPF_JMP | BPF_JGE | BPF_X */
|
|
|
{
|
|
|
"JMP_JGE_X: if (3 >= 2) return 1",
|