From 2878b8ba7859cf1771795ebef5c85ec211756dca Mon Sep 17 00:00:00 2001 From: Paul Moore Date: Thu, 7 Mar 2019 10:49:40 -0500 Subject: 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 --- tests/38-basic-pfc_coverage.pfc | 89 +++++++++++++++++++++++++++-------------- 1 file 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) -- cgit v1.2.1