aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
Commit message (Collapse)AuthorAgeFilesLines
* pkg/build: fix netbsd ifconfigDmitry Vyukov2019-02-231-1/+1
| | | | | ! escaping seems not be required. The current code writes / as well, which is wrong.
* pkg/build: setup network interface on GCE for netbsdDmitry Vyukov2019-02-231-3/+8
|
* pkg/build: netbsd build improvementsDmitry Vyukov2019-02-237-27/+29
| | | | | | | 1. Implement clean since we do incremental build we actually need no-op clean. 2. Don't copy netbsd to output dir, we don't need it there (we create full-fledged image). 3. Copy netbsd.gdb to obj/ dir, that's where it is expected. 4. Fix boot disk name for gce (it's sd0 instead of wd0).
* pkg/report: update UBSAN netbsd report formatDmitry Vyukov2019-02-235-11/+11
|
* pkg/report: add KUBSan netbsd reportsDmitry Vyukov2019-02-235-0/+22
| | | | | Just to detect them at all and have some test base. Will need better bug identification later.
* pkg/build: minor assorted improvements for netbsdDmitry Vyukov2019-02-221-26/+25
| | | | | | Create /fastboot and /var/db/entropy-file files. Check that we copy kernel into the right location. Fix code style.
* pkg/report: add few netbsd KASAN reportsDmitry Vyukov2019-02-223-3/+38
|
* pkg/build: added feature to copy kernel image for netbsdSiddharth M2019-02-222-10/+73
| | | | | | | | | | | | | | | | | | | * Modified pkg/build/netbsd.go 1. Made kernel build incremental 2. Added code to copy kernel to disk image * Fix formating issues * Fixed basic issues * Fixed copy kernel to disk 1. Added CPU option to default 2. Added snapshot option to vm/qemu/qemu.go 3. Hacky solution to get the build working * Fixed issues and added vm.MonitorExecution * Added sync instead of poweroff
* executor: fix format stringsDmitry Vyukov2019-02-191-2/+2
| | | | clang complains that we pass an int to %hx. Fix it.
* pkg/ifuzz/generated: change package name to match pathDmitry Vyukov2019-02-192-2/+2
| | | | | Some tools blow up due to the mismatch... Let's use the canonical convention.
* pkg/vcs: implement few missing methods for akarosDmitry Vyukov2019-02-171-12/+0
| | | | CheckoutBranch is now needed for commit polling.
* dashboard/app: poll commits infoDmitry Vyukov2019-02-1711-181/+459
| | | | | | | | | | | | | | | This implements 2 features: - syz-ci polls a set of additional repos to discover fixing commits sooner (e.g. it can now discover a fixing commit in netfilter tree before it reaches any of the tested trees). - syz-ci uploads info about commits to dashboard. For example, a user marks a bug as fixed by commit "foo: bar". syz-ci will find this commit in the main namespace repo and upload commmit hash/date/author to dashboard. This in turn allows to show links to fixing commits. Fixes #691 Fixes #610
* pkg/report: normalize timeout_add panic on OpenBSDAnton Lindqvist2019-02-152-0/+216
|
* pkg/instance: test coverage during instance testingDmitry Vyukov2019-02-131-1/+1
| | | | | | Currently we always pass cover=false during instance testing and as the result covereage is not tested. This can result in broken images. Pass the actual value of coverage for testing.
* pkg/runtest: don't print skipped/broken tests by defaultDmitry Vyukov2019-02-132-1/+8
| | | | | | | SKIP/BROKEN distract too much attention from FAIL tests and are not usually interesting. Add Verbose flag that controls printing of SKIP/BROKEN tests. Enable it in pkf/runtest/run_test.go by default and disable in tools/syz-runtest.
* pkg/host: don't fail if CONFIG_FAIL_FUTEX is not enabledDmitry Vyukov2019-02-112-5/+12
| | | | | | See #991 and added comments. Fixes #991
* all: reformat with Go 1.10Dmitry Vyukov2019-02-113-10/+10
|
* sys/linux: add NDISC packet formats to vnet.txtDan Robertson2019-02-113-10/+10
| | | | Add the basic NDISC (RFC 4861) packet formats to sys/linux/vnet.txt.
* pkb/build: extractRootCause for NetBSD tooGreg Steuck2019-02-111-2/+2
| | | | | | | | | | | | * pkg/build: share extractRootCause with openbsd This should get kernel build errors reported in syz-ci console. * Add a test * lint * pkb/build: extractRootCause for NetBSD too
* pkg/build: share extractRootCause with openbsdGreg Steuck2019-02-114-38/+67
| | | | | | | | | | * pkg/build: share extractRootCause with openbsd This should get kernel build errors reported in syz-ci console. * Add a test * lint
* openbsd: remove shorten report logic (#986)Anton Lindqvist2019-02-092-24/+4
| | | | | | | | | | | A line length of 79 in the ddb output does not necessarily imply that the following line is a continuation of the current line. Since there's no way to distinguish between ordinary and continuation lines, it could end up corrupting the report by joining two lines that are disjoint[1]. Instead, disable line wrapping in ddb. If we want some kind of wrapping in the future it's easier done by pkg/report. [1] https://syzkaller.appspot.com/bug?extid=03f7377a9848d7d008c9
* pkg/ipc: generate better temp name for executorDmitry Vyukov2019-02-083-10/+39
| | | | | | | | | Just appending the pid number can produce conflicting names if the name itself ends with digits (standard temp file naming convention). So append ".PID". Also remove beginning from too long names instead of ending. Temp files in tests has unique numbers at the end, we need to preserve them to avoid file name conflicts.
* pkg/runtest: run syz tests in non-repeat modeDmitry Vyukov2019-02-081-38/+53
| | | | | | Turns out it can affect some tests, e.g. some things manifest only after executor restart (executor binary marked as non-executable by the test).
* pkg/report: add simple version of netbsd crash parserDmitry Vyukov2019-02-017-2/+212
| | | | Just something to start with. Plus some test cases.
* executor: add missing includeDmitry Vyukov2019-02-011-0/+1
| | | | thread_start now uses errno, so include <errno.h>
* executor, pkg/ipc: simplify retry handlingDmitry Vyukov2019-01-312-44/+13
| | | | | | Remove kRetryStatus, it's effectively the same as exiting with 0. Remove ipc.ExecutorFailure, nobody uses it. Simplify few other minor things around exit status handling.
* executor: remove ability to detect kernel bugsDmitry Vyukov2019-01-317-36/+7
| | | | | | | | This ability was never used but we maintain a bunch of code for it. syzkaller also recently learned to spoof this error code with some ptrace magic (probably intercepted control flow again and exploited executor binary). Drop all of it.
* sys/test/test: add tests for test exiting in the middle of executionDmitry Vyukov2019-01-313-9/+24
|
* executor: fix do_sandbox_none on akaros and testDmitry Vyukov2019-01-311-83/+2
| | | | do_sandbox_none must not exit, it needs to return.
* executor: handle pthread_create errors betterDmitry Vyukov2019-01-311-3/+13
| | | | See the added comment for explanation.
* pkg/csource: write tracing output to stderrDmitry Vyukov2019-01-312-3/+3
| | | | stdout is not flushed on abnormal exit.
* pkg/compiler: don't warn about the same len twiceDmitry Vyukov2019-01-313-15/+74
| | | | Also add tests for warnings while we are here.
* pkg/report: improved witness handlingAnton Lindqvist2019-01-283-0/+371
| | | | | | Possible now since the output is consistently prefixed[1]. [1] https://marc.info/?l=openbsd-cvs&m=154850328128727&w=2
* openbsd: more witness handlingAnton Lindqvist2019-01-262-2/+22
| | | | | | | | | | * pkg/report: symbolize witness trace on OpenBSD * vm/vmimpl: show witness locks on panic * vm/vmimpl: show memory stats on panic * fixup! pkg/report: symbolize witness trace on OpenBSD
* pkg/build: add basic support for NetBSDSiddharth M2019-01-252-0/+70
| | | | | | * Add pkg/build support for NetBSD * Fix length of characters
* pkg/report: recognize witness on OpenBSDAnton Lindqvist2019-01-242-0/+147
|
* Added vcs support for netbsdSiddharth M2019-01-242-0/+57
|
* pkg/report: skip trylock functionsDmitry Vyukov2019-01-222-0/+169
| | | | Skip various *_trylock functions as we do for *_lock functions.
* pkg/host: enable FeatureComparisons on OpenBSDAnton Lindqvist2019-01-211-0/+1
|
* pkg/host: enable FeatureComparisons on FreeBSDMichael Tuexen2019-01-201-0/+1
| | | | Same as https://github.com/google/syzkaller/pull/952, just for FreeBSD.
* Makefile: enable -Wunused-const-variableDmitry Vyukov2019-01-191-1/+1
| | | | | | | See discussion in PR #942. Extend support for optional flags in sys/targets as this flag is not supported by gcc 5. Make flags consistent across Makefile and pkg/csource.
* executor: unbreak on OpenBSDAnton Lindqvist2019-01-191-0/+1
| | | | | | | Commit b5df78dc ("all: support extra coverage") broke the executor on OpenBSD: executor/executor.cc:61:11: error: unused variable 'kExtraCoverSize' [-Werror,-Wunused-const-variable] const int kExtraCoverSize = 256 << 10;
* kcov: some fixes for extra coverageAndrey Konovalov2019-01-171-1/+1
| | | | | | Use PC tracing mode when detecting KCOV_REMOTE_ENABLE support in the kernel. Also fix kcov_remote_handle_usb argument.
* executor: remove unused kvm_asm64_vm86Dmitry Vyukov2019-01-171-1/+0
| | | | | | | -Wunused-const-variable shows it. No idea now if it should be used or not, seems to be the same as kvm_asm32_paged_vm86. So let's just remove it.
* all: detect extra coverage supportAndrey Konovalov2019-01-164-6/+49
| | | | Based on whether the kernel supports KCOV_REMOTE_ENABLE ioctl.
* all: support extra coverageAndrey Konovalov2019-01-163-14/+54
| | | | | | | | | | | | | | | Right now syzkaller only supports coverage collected from the threads that execute syscalls. However some useful things happen in background threads, and it would be nice to collect coverage from those threads as well. This change adds extra coverage support to syzkaller. This coverage is not associated with a particular syscall, but rather with the whole program. Executor passes extra coverage over the same ipc mechanism to syz-fuzzer with syscall number set to -1. syz-fuzzer then passes this coverage to syz-manager with the call name "extra". This change requires the following kcov patch: https://github.com/xairy/linux/pull/2
* pkg/mgrconfig: do not serialize optional fieldsDmitry Vyukov2019-01-162-17/+18
| | | | Since we now show manager config on web page, make it leaner.
* pkg/report: more tuning for trusty reportsDmitry Vyukov2019-01-153-1/+104
| | | | Update #933
* pkg/host: Support extracting kallsyms on ppc64leAndrew Donnellan2019-01-151-0/+2
| | | | | | | Add a regex for syscall symbol extraction on ppc64le. ppc64le doesn't have any special arch prefix. Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
* pkg/report: add parsing of trusty crashesDmitry Vyukov2019-01-144-0/+121
| | | | Update #933