summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2008-08-28 17:59:16 +0000
committerjkim <jkim@FreeBSD.org>2008-08-28 17:59:16 +0000
commit4e5f663031d042c26913e751d019fda2ac3e4a38 (patch)
treee52b29fc8db78a5e282b3539cc697aed3304a285 /tools
parent84b37f6437f35b292c9e33f85694b3b2487b56b9 (diff)
downloadFreeBSD-src-4e5f663031d042c26913e751d019fda2ac3e4a38.zip
FreeBSD-src-4e5f663031d042c26913e751d019fda2ac3e4a38.tar.gz
Merge bpf_filter.c r182380 and remove additional local checks
for BPF_STX and BPF_LDX|BPF_MEM instructions.
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/bpf/bpf_filter/bpf_test.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/tools/regression/bpf/bpf_filter/bpf_test.c b/tools/regression/bpf/bpf_filter/bpf_test.c
index 40b5af5..aa8762c 100644
--- a/tools/regression/bpf/bpf_filter/bpf_test.c
+++ b/tools/regression/bpf/bpf_filter/bpf_test.c
@@ -189,20 +189,12 @@ bpf_validate(const struct bpf_insn *f, int len)
* Check that memory operations use valid addresses.
*/
if ((BPF_CLASS(p->code) == BPF_ST ||
- (BPF_CLASS(p->code) == BPF_LD &&
- (p->code & 0xe0) == BPF_MEM)) &&
+ BPF_CLASS(p->code) == BPF_STX ||
+ ((BPF_CLASS(p->code) == BPF_LD ||
+ BPF_CLASS(p->code) == BPF_LDX) &&
+ (p->code & 0xe0) == BPF_MEM)) &&
p->k >= BPF_MEMWORDS)
return (0);
-#if BPF_VALIDATE > 1
- /*
- * XXX JK: BPF_STX and BPF_LDX|BPF_MEM must be checked.
- */
- if ((BPF_CLASS(p->code) == BPF_STX ||
- (BPF_CLASS(p->code) == BPF_LDX &&
- (p->code & 0xe0) == BPF_MEM)) &&
- p->k >= BPF_MEMWORDS)
- return (0);
-#endif
/*
* Check for constant division by 0.
*/
OpenPOWER on IntegriCloud