aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2015-10-12 17:15:57 +0200
committerAndrey Konovalov <andreyknvl@google.com>2015-10-13 15:31:56 +0200
commit87a42c4dc364d5cf94187b1ff7488b74709372bf (patch)
tree06e2f2c560953e726685d3f6188a5ff3ea815dea /README.md
parent69de147243c2575dc297db78f80875bf11dff746 (diff)
Add Makefile
Diffstat (limited to 'README.md')
-rw-r--r--README.md28
1 files changed, 15 insertions, 13 deletions
diff --git a/README.md b/README.md
index 833d92873..9230a1c3a 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# syzkaller - linux syscall fuzzer
-```syzkaller``` is a distributed, unsupervised, coverage-guided Linux syscall fuzzer.
-It is meant to be used with [KASAN](https://www.kernel.org/doc/Documentation/kasan.txt) (```CONFIG_KASAN=y```),
-[KTSAN](https://github.com/google/ktsan) (```CONFIG_KTSAN=y```),
+`syzkaller` is a distributed, unsupervised, coverage-guided Linux syscall fuzzer.
+It is meant to be used with [KASAN](https://www.kernel.org/doc/Documentation/kasan.txt) (`CONFIG_KASAN=y`),
+[KTSAN](https://github.com/google/ktsan) (`CONFIG_KTSAN=y`),
or [KUBSAN] (http://developerblog.redhat.com/2014/10/16/gcc-undefined-behavior-sanitizer-ubsan/) ([patch](https://lkml.org/lkml/2014/10/20/181)).
Project [mailing list](https://groups.google.com/forum/#!forum/syzkaller).
@@ -15,23 +15,25 @@ This is work-in-progress, some things may not work yet.
Coverage support is not upstreamed yet, so you need to apply [this patch](https://codereview.appspot.com/267910043)
to gcc (tested on revision 227353) and [this patch](https://github.com/dvyukov/linux/commit/5626fbd654b9f0ce037376bd95bfe8e9530e1313)
-to kernel. Then build kernel with ```CONFIG_KASAN``` or ```CONFIG_KTSAN``` and the new ```CONFIG_SANCOV```.
+to kernel. Then build kernel with `CONFIG_KASAN` or `CONFIG_KTSAN` and the new `CONFIG_SANCOV`.
-Then, build ```syzkaller/master```, ```syzkaller/manager```, ```syzkaller/fuzzer``` and ```syzkaller/executor```.
-The latter is build using ```make``` in the dir, the rest are build using ```go build```.
+Then, build syzkaller with `make`.
+The compiled binaries will be put in the `bin` folder.
-Then, write manager config based on ```manager/example.cfg```.
+Then, write manager config based on `manager/example.cfg`.
Then, start the master process as:
-
-```$ ./master -workdir=./workdir -addr=myhost.com:48342 -http=myhost.com:29855```
+```
+./master -workdir=./workdir -addr=myhost.com:48342 -http=myhost.com:29855
+```
and start the manager process as:
-
-```$ ./manager -config my.cfg```
+```
+./manager -config my.cfg
+```
The manager process will wind up qemu virtual machines and start fuzzing in them.
-If you open the HTTP address (in our case ```http://myhost.com:29855```),
+If you open the HTTP address (in our case `http://myhost.com:29855`),
you will see how corpus collection progresses.
## Process Structure
@@ -68,6 +70,6 @@ close(fd fd)
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
```
-The description is contained in ```syzkaller/sys/sys.txt``` file.
+The description is contained in `syzkaller/sys/sys.txt` file.
This is not an official Google product.