aboutsummaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* docs: move sys/README.md to docsAndrey Konovalov2017-06-141-229/+0
|
* sys: check in generated filesDmitry Vyukov2017-06-133-0/+69595
| | | | | | | | | | | | | | | | | | We used to have all generated files checked in. Later we removed them (now users are supposed to run make to generate them). This causes several problems: - go get does not work as it tries to build everything straight away (go get -d works, but users are confused) - users don't run make and complain that build is broken - users don't re-run make after updates and complain that build is broken - hard to integrate into other build system (even if they support building Go, they don't support running sysgen out-of-the-box) Fixes #216
* csource: don't generate execute_syscall callsAndrey Konovalov2017-06-121-0/+1
|
* statx: generate constants for updated flagsJess Frazelle2017-06-083-21/+15
| | | | Signed-off-by: Jess Frazelle <acidburn@google.com>
* statx: update flagsJess Frazelle2017-06-081-1/+1
| | | | Signed-off-by: Jess Frazelle <acidburn@google.com>
* sys: add a new test for resource ctorsDmitry Vyukov2017-06-061-0/+10
| | | | | | | TestTransitivelyEnabledCalls detects when there is a resource that has no ctors, but it does not provide any details (e.g. resource name). Add another test that detects exact resource that can't be created.
* sys: add statx syscallJess Frazelle2017-06-024-0/+99
| | | | | | | | | The statx syscall was added in Linux 4.11, check out the kernel documentation[1] for more information. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a528d35e8bfcc521d7cb70aaf03e1bd296c8493f Signed-off-by: Jess Frazelle <acidburn@google.com>
* sys: remove debug leftoverDmitry Vyukov2017-05-301-1/+0
|
* sys: add basic AF_LLC sockets descriptionsAndrey Konovalov2017-05-295-2/+207
|
* sys: generate arrays instead of mapsDmitry Vyukov2017-05-292-10/+86
| | | | | | | | Compilation of large maps is super slow. Generate arrays instead and converet to maps at runtime. Reduces build time from ~40s to ~2s. Update #182
* all: speed up testsDmitry Vyukov2017-05-292-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark tests as parallel where makes sense. Speed up sys.TransitivelyEnabledCalls. Execution time is now: ok github.com/google/syzkaller/config 0.172s ok github.com/google/syzkaller/cover 0.060s ok github.com/google/syzkaller/csource 3.081s ok github.com/google/syzkaller/db 0.395s ok github.com/google/syzkaller/executor 0.060s ok github.com/google/syzkaller/fileutil 0.106s ok github.com/google/syzkaller/host 1.530s ok github.com/google/syzkaller/ifuzz 0.491s ok github.com/google/syzkaller/ipc 1.374s ok github.com/google/syzkaller/log 0.014s ok github.com/google/syzkaller/prog 2.604s ok github.com/google/syzkaller/report 0.045s ok github.com/google/syzkaller/symbolizer 0.062s ok github.com/google/syzkaller/sys 0.365s ok github.com/google/syzkaller/syz-dash 0.014s ok github.com/google/syzkaller/syz-hub/state 0.427s ok github.com/google/syzkaller/vm 0.052s However, main time is still taken by rebuilding sys package. Fixes #182
* sys: refactor and improve SCTP socket descriptionsAndrey Konovalov2017-05-267-249/+450
|
* sys, executor: extract tcp sequence numbers from /dev/net/tunAndrey Konovalov2017-05-261-18/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new pseudo syscall syz_extract_tcp_res, that reads a packet from /dev/net/tun and extracts tcp sequence numbers to be used in subsequent packets. As a result this syzkaller program: mmap(&(0x7f0000000000/0x10000)=nil, (0x10000), 0x3, 0x32, 0xffffffffffffffff, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f0000001000)={0x2, 0x0, @empty=0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, 0x10) listen(r0, 0x5) syz_emit_ethernet(0x36, &(0x7f0000002000)={@local={[0xaa, 0xaa, 0xaa, 0xaa, 0xaa], 0x0}, @random="4c6112cc15d8", [], {{0x800, @ipv4={{0x5, 0x4, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x6, 0x0, @remote={0xac, 0x14, 0x0, 0xbb}, @local={0xac, 0x14, 0x0, 0xaa}, {[]}}, @tcp={{0x1, 0x0, 0x42424242, 0x42424242, 0x0, 0x0, 0x5, 0x2, 0x0, 0x0, 0x0, {[]}}, {""}}}}}}) syz_extract_tcp_res(&(0x7f0000003000)={<r1=>0x42424242, <r2=>0x42424242}, 0x1, 0x0) syz_emit_ethernet(0x38, &(0x7f0000004000)={@local={[0xaa, 0xaa, 0xaa, 0xaa, 0xaa], 0x0}, @remote={[0xbb, 0xbb, 0xbb, 0xbb, 0xbb], 0x0}, [], {{0x800, @ipv4={{0x5, 0x4, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x0, 0x6, 0x0, @remote={0xac, 0x14, 0x0, 0xbb}, @local={0xac, 0x14, 0x0, 0xaa}, {[]}}, @tcp={{0x1, 0x0, r2, r1, 0x0, 0x0, 0x5, 0x10, 0x0, 0x0, 0x0, {[]}}, {"0c10"}}}}}}) r3 = accept$inet(r0, &(0x7f0000005000)={0x0, 0x0, @multicast1=0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, &(0x7f0000006000)=0x10) established a TCP connection: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:20000 0.0.0.0:* LISTEN 5477/a.out tcp 2 0 172.20.0.170:20000 172.20.0.187:20001 ESTABLISHED 5477/a.out Similar program for IPv6: mmap(&(0x7f0000000000/0x10000)=nil, (0x10000), 0x3, 0x32, 0xffffffffffffffff, 0x0) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x1, 0x0, @empty={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, 0x0}, 0x1c) listen(r0, 0x5) syz_emit_ethernet(0x4a, &(0x7f0000001000)={@local={[0xaa, 0xaa, 0xaa, 0xaa, 0xaa], 0x0}, @random="de895db1468d", [], {{0x86dd, @ipv6={0x0, 0x6, "a228af", 0x14, 0x6, 0x0, @remote={0xfe, 0x80, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x0, 0xbb}, @local={0xfe, 0x80, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x0, 0xaa}, {[], @tcp={{0x0, 0x1, 0x42424242, 0x42424242, 0x0, 0x0, 0x5, 0x2, 0x0, 0x0, 0x0, {[]}}, {""}}}}}}}) syz_extract_tcp_res(&(0x7f0000002000)={<r1=>0x42424242, <r2=>0x42424242}, 0x1, 0x0) syz_emit_ethernet(0x4a, &(0x7f0000003000)={@local={[0xaa, 0xaa, 0xaa, 0xaa, 0xaa], 0x0}, @random="de895db1468d", [], {{0x86dd, @ipv6={0x0, 0x6, "a228af", 0x14, 0x6, 0x0, @remote={0xfe, 0x80, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x0, 0xbb}, @local={0xfe, 0x80, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x0, 0xaa}, {[], @tcp={{0x0, 0x1, r2, r1, 0x0, 0x0, 0x5, 0x10, 0x0, 0x0, 0x0, {[]}}, {""}}}}}}}) r3 = accept$inet6(r0, &(0x7f0000004000)={0x0, 0x0, 0x0, @empty={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, 0x0}, &(0x7f0000005000)=0x1c) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp6 0 0 :::20001 :::* LISTEN 5527/a.out tcp6 0 0 fe80::aa:20001 fe80::bb:20000 ESTABLISHED 5527/a.out
* Merge branch 'ioctls/add-new-desc' of github.com:billy-lau/syzkaller into ↵Billy Lau2017-04-251-0/+1
|\ | | | | | | ioctls/add-new-desc
| * sys: add syscall description for /dev/ion.Billy Lau2017-04-244-1/+63
| |
* | sys: add syscall description for /dev/ion.Billy Lau2017-04-254-1/+64
|/
* sys: make ifindex a resourceAndrey Konovalov2017-04-203-12/+38
| | | | | Also split ioctl$sock_inet_ifreq into multple ioctls to make it possible to disable or enable particular ones.
* sys: add more ipv6 socket optionsAndrey Konovalov2017-04-201-11/+52
|
* sys: add some ip socket optionsAndrey Konovalov2017-04-206-102/+207
|
* sys: rename sockaddr_all to sockaddr_storageAndrey Konovalov2017-04-201-14/+14
|
* sys: add some ipv6 socket optionsAndrey Konovalov2017-04-204-7/+128
|
* sys: fix sendmmsg and recvmmsgAndrey Konovalov2017-04-204-24/+38
|
* sys: consistent names for ip socketsAndrey Konovalov2017-04-184-25/+26
|
* sys: add more tcp socket optionsAndrey Konovalov2017-04-084-0/+64
|
* sys: add more udp ioctlsAndrey Konovalov2017-04-084-0/+19
|
* sys: add more tcp ioctlsAndrey Konovalov2017-04-084-0/+33
|
* sys: add more ipv6 ioctlsAndrey Konovalov2017-04-084-0/+125
|
* sys: use ipv4_addr & ipv6_addr instead of in_addr & in6_addrAndrey Konovalov2017-04-083-42/+25
|
* sys: add more ip ioctlsAndrey Konovalov2017-04-084-2/+47
|
* sys: use consistent setsockopt$type_* names for socket optionsAndrey Konovalov2017-04-087-131/+131
|
* sys: use consistent ioctl$sock* name for socket ioctlsAndrey Konovalov2017-04-087-54/+54
|
* sys: use consistent setsockopt$inet* syscall names for ip optionsAndrey Konovalov2017-04-075-53/+53
|
* sys: add ipv4 arp ioctlsAndrey Konovalov2017-04-075-2/+63
|
* sys: move ipv6 sockets to its own fileAndrey Konovalov2017-04-079-257/+319
|
* sys: add more socket ioctlsAndrey Konovalov2017-04-074-9/+293
|
* sys: add loopback and syzN devices to devnameAndrey Konovalov2017-04-072-4/+12
|
* sys: rearrange and improve socket.txtAndrey Konovalov2017-04-0716-173/+355
|
* sys: add basic AF_AX25 descriptionsAndrey Konovalov2017-03-314-0/+196
|
* sys: add basic AF_IPX descriptionsAndrey Konovalov2017-03-314-0/+139
|
* sys: remove UFFD_FEATURE_EVENT_EXIT constDmitry Vyukov2017-03-084-4/+1
| | | | It is going to be removed from kernel.
* sys: describe uffd api featuresDmitry Vyukov2017-03-024-1/+26
|
* prog: fix mknod sanitizationDmitry Vyukov2017-02-141-2/+2
| | | | | | mknod mode also includes ownership flags, so filter out the node type. Also allow creation of loop nodes. Remove mount$fs as it does not seem to make any sense.
* sys: add basic llc packet descriptionsAndrey Konovalov2017-02-134-0/+104
|
* sys: add basic x25 packet descriptionsAndrey Konovalov2017-02-134-0/+91
|
* sys: add basic ipx packet descriptionAndrey Konovalov2017-02-134-0/+62
|
* sys: add arp packet descriptionsAndrey Konovalov2017-02-134-0/+271
|
* sys: add igmp basic packet descriptionAndrey Konovalov2017-02-134-0/+53
|
* sys: remove old const filesAndrey Konovalov2017-02-1312-552/+0
|
* sys: add dccp socket & packet descriptionsAndrey Konovalov2017-02-138-0/+186
|
* sys: fix typo in set/getsockopt nameAndrey Konovalov2017-02-101-4/+4
|