aboutsummaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* sys: fix typo in set/getsockopt nameAndrey Konovalov2017-02-101-4/+4
|
* sys: restore autobind TODOAndrey Konovalov2017-02-101-0/+2
|
* sys: add icmp sock optAndrey Konovalov2017-02-104-0/+16
|
* sys: improve ip and ipv6 sockoptsAndrey Konovalov2017-02-104-64/+195
|
* sys: improve tcp sockoptsAndrey Konovalov2017-02-104-15/+67
|
* sys: improve udp setsockoptAndrey Konovalov2017-02-104-10/+46
|
* sys: fix socket.txt includeAndrey Konovalov2017-02-104-0/+4
|
* sys: add sock_in and sock_in6 typesAndrey Konovalov2017-02-1020-263/+213
|
* sys: split socket.txt into multiple files based on socket typeAndrey Konovalov2017-02-0963-1577/+2462
| | | | | This just moves syscall descriptions and fixes up includes without any semantic changes.
* prog, sys: add icmpv6 packet descriptions and checksumsAndrey Konovalov2017-02-087-32/+258
| | | | | | Also generalize checksums into the two kinds: inet and pseudo. Inet checksums is just the Internet checksum of a packet. Pseudo checksum is the Internet checksum of a packet with a pseudo header.
* prog, sys: add icmp descriptions and checksumAndrey Konovalov2017-02-067-18/+335
|
* sys: refine EVIOCGMASK descriptionDmitry Vyukov2017-02-061-2/+2
| | | | | | Fuzzer used this call to corrupt output data involving treating part of file name as a pointer into data section. Machines are raising...
* sys: add more filesystems and mount flagsDmitry Vyukov2017-02-054-2/+26
|
* sys: add missing include in loop.txtDmitry Vyukov2017-02-054-0/+4
|
* sys: add /dev/loop descriptionDmitry Vyukov2017-02-035-1/+145
|
* sys: minor assorted improvements to descriptionsDmitry Vyukov2017-02-035-11/+52
|
* prog, sys: add udp description and checksumAndrey Konovalov2017-02-024-2/+75
|
* prog, sys: add ipv6 description and checksumAndrey Konovalov2017-02-026-5/+246
|
* prog, sys: add tcp packets descriptionsAndrey Konovalov2017-01-308-6/+238
| | | | Also embed tcp checksums into packets.
* sys: improve kvm descriptionDmitry Vyukov2017-01-281-4/+42
| | | | | | Allow fuzzer to change types of segment descriptors. Alter more flags. Allow fuzzer to do a random vmwrite.
* sys: improve key descriptionsDmitry Vyukov2017-01-284-6/+94
|
* sys: improve ipc descriptionsDmitry Vyukov2017-01-284-44/+78
|
* sys: move ipc syscalls into separate fileDmitry Vyukov2017-01-288-213/+249
|
* all: implement edge coverageDmitry Vyukov2017-01-271-12/+2
| | | | | | | | | | | Currently syzkaller uses per-call basic block (BB) coverage. This change implements edge (not-per-call) coverage. Edge coverage is more detailed than BB coverage as it captures not-taken branches, looping, etc. So it provides better feedback signal. This coverage is now called "signal" throughout the code. BB code coverage is also collected as it is required for visualisation. Not doing per-call coverage reduces corpus ~6-7x (from ~35K to ~5K), this has profound effect on fuzzing efficiency.
* sys: improve ipv4 options descriptionsAndrey Konovalov2017-01-264-6/+124
|
* prog, sys: add csum type, embed checksums for ipv4 packetsAndrey Konovalov2017-01-253-5/+34
| | | | | | | This change adds a `csum[kind, type]` type. The only available kind right now is `ipv4`. Using `csum[ipv4, int16be]` in `ipv4_header` makes syzkaller calculate and embed correct checksums into ipv4 packets.
* sys: add missing consts for arm64 and ppc64Andrey Konovalov2017-01-232-0/+186
|
* sys: add ethernet and ipv4 packet descriptionsAndrey Konovalov2017-01-232-3/+257
|
* sys, prog: add length of parent of parent to templatesAndrey Konovalov2017-01-232-0/+52
| | | | | | | | | | | | | | Example: ``` struct s1 { f0 len[s2] # length of s2 } struct s2 { f0 s1 f1 array[int32] } ```
* prog: add FieldName to TypeAndrey Konovalov2017-01-231-0/+6
| | | | | FieldName() is the name of the struct field or union option with this type. TypeName() is now always the name of the type.
* prog: fix bytesizeN for nonarray fieldsAndrey Konovalov2017-01-191-2/+25
|
* prog: fix calculating parent length in struct with bitfieldsAndrey Konovalov2017-01-191-0/+14
|
* prog, sys: fix padding varlen structsAndrey Konovalov2017-01-194-51/+95
|
* sys: improve cmsghdr descriptionDmitry Vyukov2017-01-184-10/+111
|
* sys: improve /dev/snd/seq and /dev/snd/timer descriptionsDmitry Vyukov2017-01-185-14/+58
|
* sys: add missing include file for some DRI constantsDmitry Vyukov2017-01-184-1/+8
|
* sys: improve sockaddr_un descriptionDmitry Vyukov2017-01-181-8/+3
| | | | | 1. Embed real filename. 2. Use proc type for unique identifiers.
* sys: don't imply pointer indirection for filename typeDmitry Vyukov2017-01-184-58/+58
| | | | | | | | Change all 'filename' to 'ptr[in, filename]' and don't imply pointer indirection for filename type. This is necessary because in some bases we want to embed filename directly into a struct (e.g. unix sock addr). Similar change was already done for string type for similar reasons. Generally, we want to imply as less as possible. NOTE: IF YOU HAVE PRIVATE DESCRIPTIONS, YOU NEED TO DO THE SAME REPLACEMENT.
* sys: drop kdbus descriptionDmitry Vyukov2017-01-185-760/+1
| | | | kdbus haven't been merged into mainline, unmaintained and seems to be replaced by bus1.
* sys: add KVM_ENABLE_CAP for vmDmitry Vyukov2017-01-184-5/+22
|
* prog: add tests for alignment and offsetsAndrey Konovalov2017-01-181-15/+105
|
* prog, sys: correctly calculate size of varlen structsAndrey Konovalov2017-01-182-12/+29
|
* prog: mutate sized strings with respect to sizeAndrey Konovalov2017-01-181-0/+1
|
* prog, sys: fix struct with bitfields size calculationAndrey Konovalov2017-01-181-1/+3
|
* sys: align structs with respect to align attributesAndrey Konovalov2017-01-181-1/+2
|
* prog: fix Size() for unions argsAndrey Konovalov2017-01-181-2/+2
|
* sys: packed structs have align of 1Andrey Konovalov2017-01-181-0/+3
|
* prog: add bitfields to templatesAndrey Konovalov2017-01-174-112/+195
| | | | | | Now it's possible to use `int32:18` to denote a bitfield of size 18 as a struct field. This fixes #72.
* sys, executor: more kvm improvementsDmitry Vyukov2017-01-125-3/+46
| | | | | | | 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.
* sys: extend kvm supportDmitry Vyukov2017-01-097-20/+134
| | | | | | 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.