Dmitry Vyukov
179a860885
all: basic freebsd support
...
For now we just make Go part build for freebsd.
2017-10-02 14:17:32 +02:00
Dmitry Vyukov
eb97aa0610
executor: support fragmentation in syz_emit_ethernet
...
A recent linux commit "tun: enable napi_gro_frags() for TUN/TAP driver"
added support for fragmentation when emitting packets via tun.
Support this feature in syz_emit_ethernet.
2017-10-02 13:56:36 +02:00
Dmitry Vyukov
1b68e030d8
sys/fuchsia: add more descriptions
2017-10-02 10:53:28 +02:00
Billy Lau
d335103a64
sys/linux: include additional header to ion.txt
...
This helps with resolving missing AT_FDCWD const.
2017-09-29 08:51:34 +02:00
Dmitry Vyukov
64b6c0724d
sys/windows: add more descriptions
2017-09-27 20:17:09 +02:00
Dmitry Vyukov
646d96d95a
Makefile, sys/syz-extract: fix android
2017-09-27 08:46:03 +02:00
Dmitry Vyukov
af442a22d9
executor, sys/windows: initial windows support
2017-09-25 15:19:06 +02:00
Dmitry Vyukov
dd56309863
sys/fuchsia: describe more syscalls
2017-09-25 08:47:48 +02:00
Dmitry Vyukov
e9c477a5b3
sys/syz-extract: support fuchsia
2017-09-25 08:47:48 +02:00
Dmitry Vyukov
913d592f97
all: more assorted fuchsia support
2017-09-22 13:10:55 +02:00
Dmitry Vyukov
653022e6a9
sys/fuchsia: fix build
2017-09-21 10:31:53 +02:00
Dmitry Vyukov
8cb7d3dcfc
all: initial support for fuchsia
...
Nothing works, but builds.
Update #191
2017-09-20 21:19:29 +02:00
Dmitry Vyukov
4e341009db
sys/linux: improve user_desc description
2017-09-20 14:01:19 +02:00
Dmitry Vyukov
da1873aadd
sys/targets: move targets from sys package
...
This breaks circular dependency between:
sysgen -> sys/linux -> sys -> sysgen
With this circular dependency it is very difficult to
update format of generated descriptions because sysgen does not build.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
66393d1884
pkg/compiler: don't genererate missing syscalls
...
We used to generate them only because manager had no idea
what arch it is testing. So syscalls numbers had to match
between all arches.
This is not needed anymore.
Also don't generate unreferenced structs/resources.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
539e603206
syz-manager, syz-fuzzer, executor: ensure that binaries are consistent
...
Check that manager/fuzzer/executor are build on the same git revision,
use the same syscall descriptions and the same target arch.
Update #336
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
19f9bc13d3
pkg/csource: support archs other than x86_64
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
4503776d2b
sys/syz-extract: generate build files out of tree
...
This does not pollute user kernel dir (we do make mrproper, though)
and enables parallel generation.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
7296cf374d
sys/syz-extract: generate multiple arches at once
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
f7eb58493b
sys/syz-extract: use consolidated target info
...
Move knowledge about targets from extract.sh to syz-extract,
and make it use target into from sys.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
75ddf7ab90
sys/syz-extract: switch to consolidated target info in sys package
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
487aa0d537
sys: consolidate info about various targets
...
Info about targets (like C arch/CFLAGS) is required in multiple places:
extract.sh
syz-extract
syz-sysgen
csource
vm/qemu
...
Consolidate it in one place and use that in syz-sysgen.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
91def5c506
prog: remove special knowledge about "mmap" syscall
...
Abstract "mmap" away as it can be called differently on another OS.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
f7b1163afb
syz-manager/mgrconfig: explicitly specify target in config
...
Add target config parameter (e.g. linux/amd64) which controls target OS/arch.
No more explicit assumptions about target.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
34bc139642
sys: compile all supported targets into the package
...
Currently we compile in only GOOS/GOARCH target.
Compile in all targets so that they can be selected at runtime.
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
b16ba6390d
sys/syz-extract: parallelize over files
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
2119c28968
sys: move extract.sh to sys/linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
bd13474175
sys/linux: rename package from sys to linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
18e96021ed
sys: move linux descriptions to sys/linux
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
4a7f7fab1e
prog: allow more than 1 target
2017-09-15 16:02:37 +02:00
Dmitry Vyukov
96b8e39972
sys: regenerate consts with tip linux
2017-09-13 15:39:34 +02:00
Dmitry Vyukov
5060392c49
sys: use correct pointer size
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
19cc67af5b
sys: add new perf attribute flag
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
eb45aa4244
prog, sys: move dictionary of special strings to sys
...
It is target-specific.
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
58efb7c6a5
sys: improve timespec/timeval generation
2017-09-05 19:02:12 +02:00
Dmitry Vyukov
ffe7e17368
prog, sys: move types to prog
...
Large overhaul moves syscalls and arg types from sys to prog.
Sys package now depends on prog and contains only generated
descriptions of syscalls.
Introduce prog.Target type that encapsulates all targer properties,
like syscall list, ptr/page size, etc. Also moves OS-dependent pieces
like mmap call generation from prog to sys.
Update #191
2017-09-05 15:52:42 +02:00
Dmitry Vyukov
5db39ab953
sys: rename Call to Syscall
...
In preparation for moving sys types to prog
to avoid confusion between sys.Call and prog.Call.
2017-09-05 10:38:22 +02:00
Dmitry Vyukov
c34180fca0
pkg/compiler: assign Call.ID statically
2017-09-04 21:06:59 +02:00
Dmitry Vyukov
a27fcb3079
sys: use ptr64 type instead of ptr where necessary
2017-09-04 21:03:23 +02:00
Dmitry Vyukov
1c0d4caf7c
sys: change BitfieldLast to BitfieldMiddle
...
That's the condition we always want.
Currently we always check:
t.BitfieldOffset() == 0 || t.BitfieldLast()
now can check just:
!t.BitfieldMiddle()
2017-09-04 20:51:56 +02:00
Dmitry Vyukov
b6e402dd48
sys: remove IntSignalno
2017-09-04 20:25:23 +02:00
Dmitry Vyukov
399addc875
sys, pkg/compiler: move padding computation to compiler
...
This makes types constant during execution, everything is precomputed.
2017-09-04 20:25:23 +02:00
Dmitry Vyukov
d878c4ff43
sys: minor fixes for statx and sigevent
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
e707c97f9a
pkg/compiler: move bitfield marking from sys
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
2cf0659df1
sys: don't assume vma size is 8
...
Use explicit size for vma.
This is the last use of hardcoded ptrSize in sys package.
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
4ee497d22e
pkg/compiler: use correct arch ptr size
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
8c64b078d1
pkg/compiler: detect resources without ctors
...
Fixes #217
2017-09-04 20:25:22 +02:00
Dmitry Vyukov
a54dce007d
sys: allow custom size for PtrType
...
This is required to support ptr64 type.
2017-09-02 14:08:30 +02:00
Dmitry Vyukov
9c995bedad
sys: improve bpf descriptions
2017-09-02 13:38:16 +02:00
Dmitry Vyukov
2c0b7b7ff3
pkg/compiler: restore generation of unsupported syscalls
...
Unfortunately this is sitll needed, see the added comment.
Update #191
2017-09-02 13:21:47 +02:00