Andrey Konovalov
44e91ae900
csource: fix STORE_BY_BITMASK in prog2c
2017-01-20 14:20:43 +01:00
Andrey Konovalov
54e0cede43
prog: add bitfields to templates
...
Now it's possible to use `int32:18` to denote a bitfield of size 18 as a struct field.
This fixes #72 .
2017-01-17 13:25:33 +01:00
Dmitry Vyukov
ff8c0180ab
sys, executor: more kvm improvements
...
1. Basic support for arm64 kvm testing.
2. Fix compiler warnings in x86 kvm code.
3. Test all pseudo syz calls in csource.
4. Fix handling of real code in x86.
2017-01-12 11:57:17 +01:00
Dmitry Vyukov
bbd4840872
sys: extend kvm support
...
Add new pseudo syscall syz_kvm_setup_cpu that setups VCPU into
interesting states for execution. KVM is too difficult to setup otherwise.
Lots of improvements possible, but this is a starting point.
2017-01-09 20:28:10 +01:00
Dmitry Vyukov
c5f38186d2
csource: compile with -Werror
...
Check for compiler warnings during compilation.
Don't require -std=c99.
Fix existing compiler warnings.
2017-01-09 20:20:49 +01:00
Dmitry Vyukov
4ca49b389a
csource: fix fork bomb
2017-01-09 20:19:44 +01:00
Dmitry Vyukov
746f74d254
csource: remove more predefined defines from generated source
2017-01-09 20:19:44 +01:00
Andrey Konovalov
346fb4e5e9
executor: don't try to open tun if it's not enabled
2016-12-02 19:21:33 +01:00
Andrey Konovalov
11e1b430a8
csourse: emit remove_dir only when needed
2016-11-29 19:02:58 +01:00
Andrey Konovalov
b13dc4bf50
csourse: fix emitting syz_* syscalls in c reproducer
2016-11-29 18:53:41 +01:00
Andrey Konovalov
c5707f5e57
executor: emit ethernet traffic
2016-11-29 17:39:38 +01:00
Dmitry Vyukov
c732a41acb
csource: don't emit syz_ syscalls is they are not used
2016-11-26 16:41:40 +01:00
Andrey Konovalov
253a40f30d
sys: add proc type to denote per proccess integers
2016-11-25 17:51:41 +01:00
Dmitry Vyukov
59f7c210d0
repro: factor out of syz-repro tool
...
Factor out repro logic from syz-repro tool,
so that it can be used in syz-manager.
Also, support sandboxes in code generated by
csoure. This is required to reproduce crashes
that require e.g. namespace sandbox.
2016-11-19 10:00:36 +01:00
Dmitry Vyukov
1f9bd1e845
csource: make collide mode more random
...
Update #59
2016-08-28 16:37:24 +02:00
Dmitry Vyukov
8278953eb4
csource: teach how to execute pseudo syz_ syscalls
...
Update #59
2016-08-28 16:33:32 +02:00
Dmitry Vyukov
9b91ede860
executor, csource: share some common code between executor and csource
2016-08-28 14:59:48 +02:00
Dmitry Vyukov
888b041f6d
csource: support nonfailing argument copyin/copyout
...
Update #59
2016-08-28 12:24:39 +02:00
Dmitry Vyukov
b34d670722
csource: use dynamic libraries if static are not supported
...
Fixes #20
2016-02-19 10:28:34 +01:00
Dmitry Vyukov
7a94216729
csource: format source with clang-format
2016-01-15 20:32:32 +01:00
Dmitry Vyukov
af4e0c0b7a
sysgen: pull in syscall numbers from kernel headers
...
Syscall numbers for different architectures are now pulled in
from kernel headers. This solves 2 problems:
- we don't need to hardcode numbers for new syscalls (that don't present in typical distro headers)
- we have correct number for different archs (previously hardcoded numbers were for x86_64)
This also makes syscall numbers available for Go code, which can be useful.
2015-12-24 19:13:08 +01:00
Dmitry Vyukov
58509c75a2
prog: remove padding checking
...
So far it has found only false positives.
Let's leave this to KMSAN.
2015-12-23 19:58:15 +01:00
Dmitry Vyukov
1f580dac3d
fileutil: new package
...
Move some file utilities into a separate package.
2015-12-23 13:59:29 +01:00
Dmitry Vyukov
c896644ab8
csource: reformat
2015-12-23 13:50:02 +01:00
Dmitry Vyukov
e253cbc79f
csource: new package
...
Move C source generation into a separate package.
Prog is too bloated already.
2015-12-23 13:38:31 +01:00