1 /*- 2 * Test 0080: Check uninitialized scratch memory (obsolete). 3 */ 4 5 /* BPF program */ 6 static struct bpf_insn pc[] = { 7 #ifdef BPF_JIT_COMPILER_OBSOLETE 8 BPF_STMT(BPF_LDX+BPF_IMM, 0xffffffff), 9 BPF_STMT(BPF_LD+BPF_MEM, 0), 10 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 29, 0), 11 BPF_STMT(BPF_LD+BPF_MEM, 1), 12 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 27, 0), 13 BPF_STMT(BPF_LD+BPF_MEM, 2), 14 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 25, 0), 15 BPF_STMT(BPF_LD+BPF_MEM, 3), 16 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 23, 0), 17 BPF_STMT(BPF_LD+BPF_MEM, 4), 18 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 21, 0), 19 BPF_STMT(BPF_LD+BPF_MEM, 5), 20 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 19, 0), 21 BPF_STMT(BPF_LD+BPF_MEM, 6), 22 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 17, 0), 23 BPF_STMT(BPF_LD+BPF_MEM, 7), 24 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 15, 0), 25 BPF_STMT(BPF_LD+BPF_MEM, 8), 26 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 13, 0), 27 BPF_STMT(BPF_LD+BPF_MEM, 9), 28 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 11, 0), 29 BPF_STMT(BPF_LD+BPF_MEM, 10), 30 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 9, 0), 31 BPF_STMT(BPF_LD+BPF_MEM, 11), 32 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 7, 0), 33 BPF_STMT(BPF_LD+BPF_MEM, 12), 34 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 5, 0), 35 BPF_STMT(BPF_LD+BPF_MEM, 13), 36 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 3, 0), 37 BPF_STMT(BPF_LD+BPF_MEM, 14), 38 BPF_JUMP(BPF_JMP+BPF_JSET+BPF_X, 0, 1, 0), 39 BPF_STMT(BPF_LD+BPF_MEM, 15), 40 #else 41 BPF_STMT(BPF_LD+BPF_IMM, 0), 42 #endif 43 BPF_STMT(BPF_RET+BPF_A, 0), 44 }; 45 46 /* Packet */ 47 static u_char pkt[] = { 48 0x00, 49 }; 50 51 /* Packet length seen on wire */ 52 static u_int wirelen = sizeof(pkt); 53 54 /* Packet length passed on buffer */ 55 static u_int buflen = sizeof(pkt); 56 57 /* Invalid instruction */ 58 static int invalid = 0; 59 60 /* Expected return value */ 61 static u_int expect = 0; 62 63 /* Expected signal */ 64 static int expect_signal = 0; 65