1/*- 2 * Test 0076: Check boundary conditions (BPF_LDX+BPF_MEM) 3 * 4 * $FreeBSD$ 5 */ 6 7/* BPF program */ 8struct bpf_insn pc[] = { 9 BPF_STMT(BPF_LD+BPF_IMM, 0xdeadc0de), 10 BPF_STMT(BPF_LDX+BPF_MEM, 0x8fffffff), 11 BPF_STMT(BPF_MISC+BPF_TXA, 0), 12 BPF_STMT(BPF_RET+BPF_A, 0), 13}; 14 15/* Packet */ 16u_char pkt[] = { 17 0x00, 18}; 19 20/* Packet length seen on wire */ 21u_int wirelen = sizeof(pkt); 22 23/* Packet length passed on buffer */ 24u_int buflen = sizeof(pkt); 25 26/* Invalid instruction */ 27int invalid = 1; 28 29/* Expected return value */ 30u_int expect = 0xdeadc0de; 31 32/* Expected signal */ 33#ifdef __amd64__ 34int expect_signal = SIGBUS; 35#else 36int expect_signal = SIGSEGV; 37#endif 38