[tor-commits] [tor/master] Add a script for running multiple fuzzing sessions on multiple cores

nickm at torproject.org nickm at torproject.org
Mon Jan 30 13:45:47 UTC 2017


commit 0fb1156e9f0ee62e9b704e9e56ebae3c8d436218
Author: teor <teor2345 at gmail.com>
Date:   Tue Dec 13 16:23:12 2016 +1100

    Add a script for running multiple fuzzing sessions on multiple cores
---
 doc/HACKING/Fuzzing.md |  1 +
 src/test/fuzz_multi.sh | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/doc/HACKING/Fuzzing.md b/doc/HACKING/Fuzzing.md
index 7ba7f49..703f028 100644
--- a/doc/HACKING/Fuzzing.md
+++ b/doc/HACKING/Fuzzing.md
@@ -42,6 +42,7 @@ To Run:
   ../afl/afl-fuzz -i src/test/fuzz/fuzz_dir_testcase -o src/test/fuzz/fuzz_dir_findings -m <asan-memory-limit> -- src/test/fuzz_dir
 
 AFL has a multi-core mode, check the documentation for details.
+You might find the included fuzz-multi.sh script useful for this.
 
 macOS (OS X) requires slightly more preparation, including:
 * using afl-clang (or afl-clang-fast from the llvm directory)
diff --git a/src/test/fuzz_multi.sh b/src/test/fuzz_multi.sh
new file mode 100755
index 0000000..b4a17ed
--- /dev/null
+++ b/src/test/fuzz_multi.sh
@@ -0,0 +1,34 @@
+MEMLIMIT_BYTES=21990500990976
+
+N_CPUS=1
+if [ $# -ge 1 ]; then
+    N_CPUS="$1"
+    shift
+fi
+
+FILTER=echo
+
+for i in `seq -w "$N_CPUS"`; do
+    if [ "$i" -eq 1 ]; then
+        if [ "$N_CPUS" -eq 1 ]; then
+            INSTANCE=""
+            NUMBER=""
+        else
+            INSTANCE="-M"
+            NUMBER="$i"
+        fi
+    else
+        INSTANCE="-S"
+        NUMBER="$i"
+    fi
+    # use whatever remains on the command-line to prefix the fuzzer command
+    # you have to copy and paste and run these commands yourself
+    "$FILTER" "$@" \
+        ../afl/afl-fuzz \
+        -i src/test/fuzz/fuzz_dir_testcase \
+        -o src/test/fuzz/fuzz_dir_findings \
+        -x src/test/fuzz/fuzz_dir_dictionary/fuzz_dir_http_header.dct \
+        -m "$MEMLIMIT_BYTES" \
+        "$INSTANCE" "$NUMBER" \
+        -- src/test/fuzz_dir
+done





More information about the tor-commits mailing list