Index: net/bpf_filter.c =================================================================== RCS file: /cvsroot/src/sys/net/bpf_filter.c,v retrieving revision 1.39 diff -u -p -u -r1.39 bpf_filter.c --- net/bpf_filter.c 5 Dec 2010 08:45:46 -0000 1.39 +++ net/bpf_filter.c 5 Dec 2010 09:16:34 -0000 @@ -484,11 +484,7 @@ bpf_validate(const struct bpf_insn *f, i case BPF_LD: case BPF_LDX: switch (BPF_MODE(p->code)) { - case BPF_IMM: - break; - case BPF_ABS: - case BPF_IND: - case BPF_MSH: + case BPF_MEM: /* * There's no maximum packet data size * in userland. The runtime packet length @@ -503,10 +499,10 @@ bpf_validate(const struct bpf_insn *f, i return 0; #endif break; - case BPF_MEM: - if (p->k >= BPF_MEMWORDS) - return 0; - break; + case BPF_ABS: + case BPF_IND: + case BPF_MSH: + case BPF_IMM: case BPF_LEN: break; default: