diff options
-rw-r--r-- | lib/test_bpf.c | 75 |
1 files changed, 74 insertions, 1 deletions
diff --git a/lib/test_bpf.c b/lib/test_bpf.c index 3c4a1e3e1f50..2d0a0d141793 100644 --- a/lib/test_bpf.c +++ b/lib/test_bpf.c | |||
@@ -1493,7 +1493,7 @@ static struct bpf_test tests[] = { | |||
1493 | { }, | 1493 | { }, |
1494 | }, | 1494 | }, |
1495 | { /* Mainly checking JIT here. */ | 1495 | { /* Mainly checking JIT here. */ |
1496 | "M[]: STX + LDX", | 1496 | "M[]: alt STX + LDX", |
1497 | .u.insns = { | 1497 | .u.insns = { |
1498 | BPF_STMT(BPF_LDX | BPF_IMM, 100), | 1498 | BPF_STMT(BPF_LDX | BPF_IMM, 100), |
1499 | BPF_STMT(BPF_STX, 0), | 1499 | BPF_STMT(BPF_STX, 0), |
@@ -1582,6 +1582,79 @@ static struct bpf_test tests[] = { | |||
1582 | { }, | 1582 | { }, |
1583 | { { 0, 116 } }, | 1583 | { { 0, 116 } }, |
1584 | }, | 1584 | }, |
1585 | { /* Mainly checking JIT here. */ | ||
1586 | "M[]: full STX + full LDX", | ||
1587 | .u.insns = { | ||
1588 | BPF_STMT(BPF_LDX | BPF_IMM, 0xbadfeedb), | ||
1589 | BPF_STMT(BPF_STX, 0), | ||
1590 | BPF_STMT(BPF_LDX | BPF_IMM, 0xecabedae), | ||
1591 | BPF_STMT(BPF_STX, 1), | ||
1592 | BPF_STMT(BPF_LDX | BPF_IMM, 0xafccfeaf), | ||
1593 | BPF_STMT(BPF_STX, 2), | ||
1594 | BPF_STMT(BPF_LDX | BPF_IMM, 0xbffdcedc), | ||
1595 | BPF_STMT(BPF_STX, 3), | ||
1596 | BPF_STMT(BPF_LDX | BPF_IMM, 0xfbbbdccb), | ||
1597 | BPF_STMT(BPF_STX, 4), | ||
1598 | BPF_STMT(BPF_LDX | BPF_IMM, 0xfbabcbda), | ||
1599 | BPF_STMT(BPF_STX, 5), | ||
1600 | BPF_STMT(BPF_LDX | BPF_IMM, 0xaedecbdb), | ||
1601 | BPF_STMT(BPF_STX, 6), | ||
1602 | BPF_STMT(BPF_LDX | BPF_IMM, 0xadebbade), | ||
1603 | BPF_STMT(BPF_STX, 7), | ||
1604 | BPF_STMT(BPF_LDX | BPF_IMM, 0xfcfcfaec), | ||
1605 | BPF_STMT(BPF_STX, 8), | ||
1606 | BPF_STMT(BPF_LDX | BPF_IMM, 0xbcdddbdc), | ||
1607 | BPF_STMT(BPF_STX, 9), | ||
1608 | BPF_STMT(BPF_LDX | BPF_IMM, 0xfeefdfac), | ||
1609 | BPF_STMT(BPF_STX, 10), | ||
1610 | BPF_STMT(BPF_LDX | BPF_IMM, 0xcddcdeea), | ||
1611 | BPF_STMT(BPF_STX, 11), | ||
1612 | BPF_STMT(BPF_LDX | BPF_IMM, 0xaccfaebb), | ||
1613 | BPF_STMT(BPF_STX, 12), | ||
1614 | BPF_STMT(BPF_LDX | BPF_IMM, 0xbdcccdcf), | ||
1615 | BPF_STMT(BPF_STX, 13), | ||
1616 | BPF_STMT(BPF_LDX | BPF_IMM, 0xaaedecde), | ||
1617 | BPF_STMT(BPF_STX, 14), | ||
1618 | BPF_STMT(BPF_LDX | BPF_IMM, 0xfaeacdad), | ||
1619 | BPF_STMT(BPF_STX, 15), | ||
1620 | BPF_STMT(BPF_LDX | BPF_MEM, 0), | ||
1621 | BPF_STMT(BPF_MISC | BPF_TXA, 0), | ||
1622 | BPF_STMT(BPF_LDX | BPF_MEM, 1), | ||
1623 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1624 | BPF_STMT(BPF_LDX | BPF_MEM, 2), | ||
1625 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1626 | BPF_STMT(BPF_LDX | BPF_MEM, 3), | ||
1627 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1628 | BPF_STMT(BPF_LDX | BPF_MEM, 4), | ||
1629 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1630 | BPF_STMT(BPF_LDX | BPF_MEM, 5), | ||
1631 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1632 | BPF_STMT(BPF_LDX | BPF_MEM, 6), | ||
1633 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1634 | BPF_STMT(BPF_LDX | BPF_MEM, 7), | ||
1635 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1636 | BPF_STMT(BPF_LDX | BPF_MEM, 8), | ||
1637 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1638 | BPF_STMT(BPF_LDX | BPF_MEM, 9), | ||
1639 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1640 | BPF_STMT(BPF_LDX | BPF_MEM, 10), | ||
1641 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1642 | BPF_STMT(BPF_LDX | BPF_MEM, 11), | ||
1643 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1644 | BPF_STMT(BPF_LDX | BPF_MEM, 12), | ||
1645 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1646 | BPF_STMT(BPF_LDX | BPF_MEM, 13), | ||
1647 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1648 | BPF_STMT(BPF_LDX | BPF_MEM, 14), | ||
1649 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1650 | BPF_STMT(BPF_LDX | BPF_MEM, 15), | ||
1651 | BPF_STMT(BPF_ALU | BPF_ADD | BPF_X, 0), | ||
1652 | BPF_STMT(BPF_RET | BPF_A, 0), | ||
1653 | }, | ||
1654 | CLASSIC | FLAG_NO_DATA, | ||
1655 | { }, | ||
1656 | { { 0, 0x2a5a5e5 } }, | ||
1657 | }, | ||
1585 | }; | 1658 | }; |
1586 | 1659 | ||
1587 | static struct net_device dev; | 1660 | static struct net_device dev; |