summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2019-03-07 10:49:40 -0500
committerPaul Moore <paul@paul-moore.com>2019-03-14 09:51:36 -0400
commit2878b8ba7859cf1771795ebef5c85ec211756dca (patch)
tree2dd8a47bec8b7af31aa8b662bd531a995d135153
parentcf5d1538d243fb6f1839db70b69469d3d7e9e077 (diff)
downloadlibseccomp-2878b8ba7859cf1771795ebef5c85ec211756dca.tar.gz
tests: update 38-basic-pfc_coverage
Based on the recent 64-bit argument comparison fixes, we need to update test 38-basic-pfc_coverage. A special thanks to Jann Horn for bringing this problem to our attention. Signed-off-by: Paul Moore <paul@paul-moore.com>
-rw-r--r--tests/38-basic-pfc_coverage.pfc89
1 files changed, 59 insertions, 30 deletions
diff --git a/tests/38-basic-pfc_coverage.pfc b/tests/38-basic-pfc_coverage.pfc
index a9a7019..8d3c53b 100644
--- a/tests/38-basic-pfc_coverage.pfc
+++ b/tests/38-basic-pfc_coverage.pfc
@@ -15,55 +15,84 @@ if ($arch == 3221225534)
# filter for syscall "open" (2) [priority: 65535]
if ($syscall == 2)
action KILL;
- # filter for syscall "write" (1) [priority: 65529]
+ # filter for syscall "write" (1) [priority: 65527]
if ($syscall == 1)
if ($a0.hi32 == 0)
if ($a0.lo32 == 0)
else
- if ($a1.hi32 >= 0)
- if ($a1.lo32 > 1)
+ if ($a1.hi32 > 0)
+ else
+ if ($a1.hi32 == 0)
+ if ($a1.lo32 > 1)
+ else
+ if ($a2.hi32 > 0)
+ else
+ if ($a2.hi32 == 0)
+ if ($a2.lo32 >= 2)
+ else
+ action TRAP;
+ else
+ action TRAP;
else
- if ($a2.hi32 >= 0)
- if ($a2.lo32 >= 2)
+ if ($a2.hi32 > 0)
+ else
+ if ($a2.hi32 == 0)
+ if ($a2.lo32 >= 2)
+ else
+ action TRAP;
else
action TRAP;
+ else
+ if ($a1.hi32 > 0)
+ else
+ if ($a1.hi32 == 0)
+ if ($a1.lo32 > 1)
+ else
+ if ($a2.hi32 > 0)
else
- action TRAP;
+ if ($a2.hi32 == 0)
+ if ($a2.lo32 >= 2)
+ else
+ action TRAP;
+ else
+ action TRAP;
else
- if ($a2.hi32 >= 0)
- if ($a2.lo32 >= 2)
- else
- action TRAP;
+ if ($a2.hi32 > 0)
else
- action TRAP;
- else
- if ($a1.hi32 >= 0)
- if ($a1.lo32 > 1)
- else
- if ($a2.hi32 >= 0)
- if ($a2.lo32 >= 2)
+ if ($a2.hi32 == 0)
+ if ($a2.lo32 >= 2)
+ else
+ action TRAP;
else
action TRAP;
- else
- action TRAP;
- else
- if ($a2.hi32 >= 0)
- if ($a2.lo32 >= 2)
- else
- action TRAP;
- else
- action TRAP;
- # filter for syscall "read" (0) [priority: 65527]
+ # filter for syscall "read" (0) [priority: 65525]
if ($syscall == 0)
if ($a0.hi32 == 0)
if ($a0.lo32 == 0)
- if ($a1.hi32 >= 0)
- if ($a1.lo32 >= 1)
- if ($a2.hi32 >= 0)
+ if ($a1.hi32 > 0)
+ if ($a2.hi32 > 0)
+ if ($a3.hi32 & 0x00000000 == 0)
+ if ($a3.lo32 & 0x0000000f == 3)
+ action KILL;
+ else
+ if ($a2.hi32 == 0)
if ($a2.lo32 > 2)
if ($a3.hi32 & 0x00000000 == 0)
if ($a3.lo32 & 0x0000000f == 3)
action KILL;
+ else
+ if ($a1.hi32 == 0)
+ if ($a1.lo32 >= 1)
+ if ($a2.hi32 > 0)
+ if ($a3.hi32 & 0x00000000 == 0)
+ if ($a3.lo32 & 0x0000000f == 3)
+ action KILL;
+ else
+ if ($a2.hi32 == 0)
+ if ($a2.lo32 > 2)
+ if ($a3.hi32 & 0x00000000 == 0)
+ if ($a3.lo32 & 0x0000000f == 3)
+ action KILL;
# default action
action ALLOW;
# filter for arch x86 (1073741827)