| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | csource: don't emit syz_ syscalls is they are not used | Dmitry Vyukov | 2016-11-26 | 1 | -3/+26 |
| | | |||||
| * | executor: fix sandbox=setuid | Dmitry Vyukov | 2016-11-22 | 1 | -2/+4 |
| | | | | | | Need to chmod(0777) the work dir before we do setuid(nobody). Otherwise nobody user won't have rights to use the temp dir. | ||||
| * | csourceL add missing include and define | Dmitry Vyukov | 2016-11-22 | 1 | -0/+2 |
| | | |||||
| * | repro: factor out of syz-repro tool | Dmitry Vyukov | 2016-11-19 | 2 | -308/+368 |
| | | | | | | | | | 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. | ||||
| * | sys, prog: add tests for description parsing and serialization | Dmitry Vyukov | 2016-09-28 | 1 | -0/+2 |
| | | | | | | | | | | | Add sys/test.txt file with description of syscalls for tests. These descriptions can be used to ensure that we can parse everything we clain we can parse. Use these descriptions to write several tests for exec serialization (one test shows that alignment handling is currently incorrect). These test descriptions can also be used to write e.g. mutation tests. Update #78 | ||||
| * | sys: remove autogenerated files | Dmitry Vyukov | 2016-09-02 | 1 | -3350/+0 |
| | | | | | | | | | They were necessary when they were the source of constant values extracted from kernel code (hard to do). Now constants are checked-in separately, and these large files can be easily regenerated with 'make generate'. Now they are only a source of large uninteresting diffs in commits. Remove them. | ||||
| * | csource: teach how to execute pseudo syz_ syscalls | Dmitry Vyukov | 2016-08-28 | 2 | -107/+115 |
| | | | | | Update #59 | ||||
| * | executor, csource: share some common code between executor and csource | Dmitry Vyukov | 2016-08-28 | 3 | -3365/+3377 |
| | | |||||
| * | overhaul syscall description generation process | Dmitry Vyukov | 2016-08-26 | 1 | -4121/+3008 |
| | | | | | | | | | | | | | | | | | | | | | | | This splits generation process into two phases: 1. Extract values of constants from linux kernel sources. 2. Generate Go code. Constant values are checked in. The advantage is that the second phase is now completely independent from linux source files, kernel version, presence of headers for particular drivers, etc. This allows to change what Go code we generate any time without access to all kernel headers (which in future won't be limited to only upstream headers). Constant extraction process does require proper kernel sources, but this can be done only once by the person who added the driver and has access to the required sources. Then the constant values are checked in for others to use. Consant extraction process is per-file/per-arch. That is, if I am adding a driver that is not present upstream and that works only on a single arch, I will check in constants only for that driver and for that arch. | ||||
| * | executor: add experimental mode to skip paging faults | Dmitry Vyukov | 2016-08-22 | 1 | -27/+65 |
| | | | | | | | | Ignore SIGSEGV/SIGBUS during copyin/copyout of arguments. The memory may not be addressable. The ignoring allows to pass partially-addressable input data to kernel. It's unclear if it's a good idea or not yet. | ||||
| * | executor: revive setuid sandbox | Dmitry Vyukov | 2016-07-01 | 1 | -15/+76 |
| | | | | | | | | | | | | | | | The new namespace-based sanboxing is good, but it's not always what one wants (and also requires special kernel configs). Change dropprivs config value to sandbox, which can have different values (currently: none, setuid, namespace). Setuid mode uses setuid(nobody) before fuzzing as before. In future we can add more sandboxing modes or, say, extend -sandbox=setuid to -sandbox=setuid:johndoe to impersonolate into given user. | ||||
| * | executor: add support for 386 arch (COMPAT syscalls) | Dmitry Vyukov | 2016-06-30 | 2 | -23/+1136 |
| | | | | | | This is not fully working now: e.g. prog and sys packages assume that pointer size is 8. But at least it compiles and works. | ||||
| * | executor: don't consider failures to remove temp dirs as crashes | Dmitry Vyukov | 2016-06-28 | 1 | -6/+6 |
| | | | | | | | | There is a number of known, low-frequency reasons for failures in remove_dir. Make the failures non-fatal. Fixes #45 | ||||
| * | sys: update generated files | Dmitry Vyukov | 2016-06-13 | 1 | -0/+207 |
| | | |||||
| * | executor: prevent test processes from ptracing parent processes | Dmitry Vyukov | 2016-03-10 | 1 | -0/+17 |
| | | |||||
| * | executor: ignore NOFILE errors during cleanup | Dmitry Vyukov | 2016-03-10 | 1 | -1/+8 |
| | | | | | This is a common source of false positives. | ||||
| * | executor: ignore the case when test process kills loop process | Dmitry Vyukov | 2016-03-10 | 1 | -1/+2 |
| | | | | | This lead to lots of false positives. | ||||
| * | executor: make loop killing non-fatal | Dmitry Vyukov | 2016-03-10 | 1 | -1/+4 |
| | | |||||
| * | sys: fix /dev/snd/pcm description | Dmitry Vyukov | 2016-02-05 | 1 | -3/+6 |
| | | |||||
| * | ipc: give executor some time to startup | Dmitry Vyukov | 2016-01-27 | 1 | -1/+5 |
| | | | | | | | Namespace-based sandbox can take some time to setup. In particular, lots of parallel executors block on net namespace creation. | ||||
| * | sys: regenerate after tun/random support | Dmitry Vyukov | 2016-01-26 | 1 | -0/+87 |
| | | |||||
| * | sys: open a bunch of new devices | Dmitry Vyukov | 2016-01-26 | 2 | -2/+148 |
| | | |||||
| * | sysgen: use __ppc64__ || __PPC64__ || __powerpc64__ to detect ppc | Dmitry Vyukov | 2016-01-25 | 1 | -3/+3 |
| | | | | | Different macros are defined by different compilers... | ||||
| * | sys: allow to open all devices as stopgap | Dmitry Vyukov | 2016-01-24 | 1 | -11/+23 |
| | | |||||
| * | sys: add basic netlink support for real | Dmitry Vyukov | 2016-01-23 | 1 | -0/+48 |
| | | |||||
| * | executor: restore nodropprivs mode | Dmitry Vyukov | 2016-01-23 | 1 | -15/+24 |
| | | |||||
| * | sys: use kernel headers instead of host headers | Dmitry Vyukov | 2016-01-22 | 1 | -15/+965 |
| | | | | | | | | | This solves several problems: - host usually have outdates headers, so previously we need to define missing consts - host may not have some headers at all - generation depends on linux distribution and version - some of the consts cannot be defined at all (e.g. ioctls that use struct arguments) | ||||
| * | executor: new namespace-based sandbox | Dmitry Vyukov | 2016-01-22 | 1 | -73/+208 |
| | | |||||
| * | vm/adb: use a more reliable way to reboot devices | Dmitry Vyukov | 2016-01-20 | 1 | -1/+6 |
| | | |||||
| * | executor: start moving sandboxing code into executor | Dmitry Vyukov | 2016-01-20 | 1 | -0/+14 |
| | | |||||
| * | executor: adopt for new kcov | Dmitry Vyukov | 2016-01-19 | 1 | -14/+16 |
| | | | | | Now kcov exposes only uintptr-sized PCs. | ||||
| * | sys: describe more dri syscalls | Dmitry Vyukov | 2016-01-16 | 2 | -0/+98 |
| | | |||||
| * | sys: support /dev/input/event ioctls | Dmitry Vyukov | 2016-01-15 | 1 | -0/+72 |
| | | |||||
| * | executor: reportat after clang-format bug fix | Dmitry Vyukov | 2016-01-15 | 1 | -30/+12 |
| | | | | | http://reviews.llvm.org/rL257763 | ||||
| * | sys: support /dev/input/{mouse,mice,event} | Dmitry Vyukov | 2016-01-13 | 1 | -0/+2 |
| | | |||||
| * | executor: don't create all threads when spot a root syscall | Dmitry Vyukov | 2016-01-13 | 1 | -1/+1 |
| | | |||||
| * | executor: don't print all waitpid debug messages | Dmitry Vyukov | 2016-01-13 | 1 | -2/+5 |
| | | |||||
| * | sys: introduce a generic syz_open_dev helper syscall | Dmitry Vyukov | 2016-01-13 | 2 | -44/+38 |
| | | |||||
| * | sys: add support for /dev/snd/control | Dmitry Vyukov | 2016-01-13 | 2 | -1/+68 |
| | | |||||
| * | sys: add support for /dev/snd/timer | Dmitry Vyukov | 2016-01-12 | 1 | -0/+30 |
| | | |||||
| * | sys: support /dev/snd/seq | Dmitry Vyukov | 2016-01-11 | 2 | -0/+72 |
| | | |||||
| * | executor: use mknodat instead of mknod (the latter is not implemented on ↵ | Dmitry Vyukov | 2016-01-11 | 1 | -1/+1 |
| | | | | | android) | ||||
| * | sys: add kvm support | Dmitry Vyukov | 2016-01-08 | 2 | -17/+203 |
| | | |||||
| * | executor: fix some bugs found by clang | Dmitry Vyukov | 2015-12-31 | 1 | -1/+4 |
| | | |||||
| * | sys: add sctp support | Dmitry Vyukov | 2015-12-30 | 1 | -12/+96 |
| | | |||||
| * | sys: add union type | Dmitry Vyukov | 2015-12-29 | 1 | -2/+2 |
| | | |||||
| * | sys: support for AF_UNIX sockets | Dmitry Vyukov | 2015-12-28 | 1 | -2/+42 |
| | | |||||
| * | sys: move more subsystems into separate files | Dmitry Vyukov | 2015-12-28 | 1 | -394/+394 |
| | | |||||
| * | sys: split syscall description into several files | Dmitry Vyukov | 2015-12-28 | 1 | -34/+34 |
| | | |||||
| * | host: detect unsupported syscalls | Dmitry Vyukov | 2015-12-27 | 1 | -0/+4 |
| | | | | | | | Also detect transitively unsupported syscalls, that is, syscalls for which all syscalls that can create input arguments are disabled. | ||||
