Skip to content
Permalink
Tree: df7f6947ba
Commits on Aug 3, 2018
  1. pkg/runtest: skip 32-bit tests in short mode

    dvyukov committed Aug 3, 2018
    Fails on travis...
  2. vm/gvisor: fix current binary lookup

    dvyukov committed Aug 3, 2018
    os.Args[0] can be just binary name which was looked up using $PATH.
    In such case copy will fail because the path does not exist.
    Lookup binary name using $PATH.
  3. tools/syz-runtest: add tool for program unit testing

    dvyukov committed Jul 25, 2018
    The tool is run as:
    
    $ syz-runtest -config manager.config
    
    This runs all programs from sys/*/test/* in different modes
    on actual VMs and checks results.
    
    Fixes #603
  4. sys/test: add more tests

    dvyukov committed Aug 3, 2018
    Add syz_errno syscall which sets errno to the argument,
    and add a test with different errno values.
    This mostly tests the testing infrastructure itself.
    
    Add syz_compare syscall which compare two blobs,
    this can be used for testing of argument memory layout.
    
    Implement syz_mmap and fix Makefile to allow building syz-execprog for test OS.
    Useful for debugging.
    
    Update #603
  5. pkg/runtest: add package for syzkaller program unit-testing

    dvyukov committed Aug 3, 2018
    Package runtest is a driver for end-to-end testing of syzkaller programs.
    It tests program execution via both executor and csource,
    with different sandboxes and execution modes (threaded, repeated, etc).
    It can run test OS programs locally via run_test.go
    and all other real OS programs via tools/syz-runtest
    which uses manager config to wind up VMs.
    Test programs are located in sys/*/test/* files.
    
    Update #603
  6. pkg/ipc: remove abort signal and buffer size

    dvyukov committed Aug 3, 2018
    They were needed for intermediate gvisor support.
    Now that we have end-to-end support for gvisor,
    they are not needed anymore. Remove.
  7. pkg/ipc: move flags into subpackage

    dvyukov committed Aug 3, 2018
    Move all ipc flags into pkg/ipc/ipcconfig package
    so that importing pkg/ipc does pull in the flags.
  8. pkg/csource: minor fixes

    dvyukov committed Aug 3, 2018
    1. Print errno with %u instead of %d
    2. Avoid unused var warning for syz_emit_ethernet
       when tracing is enabled.
  9. pkg/osutil: minor tweaks

    dvyukov committed Aug 3, 2018
    1. Make it clear when a command times out.
    2. Don't add trailing newline for VerboseError if output is empty.
    3. Fix WriteExecFile for the case when the file already exists.
  10. pkg/rpctype: ignore SetDeadline error

    dvyukov committed Aug 3, 2018
    SetDeadline is not implemented on fuchsia and always fails.
  11. sys/fuchsia: zx_log_* got replaced by zx_debuglog_*

    dokyungs authored and dvyukov committed Aug 2, 2018
Commits on Aug 2, 2018
  1. sys/akaros: remove /dev/cons

    dvyukov committed Aug 2, 2018
    Presumably it causes corrupted console output.
  2. executor: extend logging in netfilter code

    dvyukov committed Aug 2, 2018
    We see some failures there, extend logging so that it's least
    possible to understand what exactly call has failed.
  3. Makefile: don't compile all targets into target binaries

    dvyukov committed Aug 2, 2018
    Currently target binaries contain support for all OS/arch combinations.
    However, obviously a fuchsia target binary won't test windows.
    For target binaries we need support only for a single target
    (with the exception of 386/arm target in amd64/arm64 binaries).
    So compile in only _the_ target into target binaries.
    This reduces akaros/amd64 fuzzer binary from 33 to 7 MB
    and execprog from 28 to 2 MB.
  4. gometalinter: strengthen gocyclo limit

    dvyukov committed Aug 2, 2018
    Strengthen gocycle limit 35->24! Yay! No more jumbo functions!
    
    Fixes #538
  5. sys/syz-extract: refactor main

    dvyukov committed Aug 2, 2018
    main is too long and complex. Move more logic into helper functions.
    
    Update #538
  6. pkg/compiler: refactor checkType

    dvyukov committed Aug 2, 2018
    checkType is too long and complex.
    Move basic type checks and args checks into separate functions.
    
    Update #538
  7. pkg/csource: refactor generateCalls

    dvyukov committed Aug 2, 2018
    Move call generation into a separate function.
    
    Update #538
  8. pkg/csource: refactor defineList

    dvyukov committed Aug 2, 2018
    Make it simpler and shorter.
    
    Update #538
  9. syz-manager: refactor work with hub

    dvyukov committed Aug 2, 2018
    Move work with hub into a separate file and fully separate
    its state from the rest of the manager state.
    First step towards splitting manager into managable parts.
    This also required to rework stats as they are used throughout the code.
    
    Update #538
    Update #605
  10. pkg/mgrconfig: move from syz-manager/mgrconfig

    dvyukov committed Aug 1, 2018
    mgrconfig was used only by syz-manager initially,
    but now it's used by a dozen of packages and it's
    weird to import from under a binary dir.
    pkg/ is much more reasonable dir for a widely used
    helper package.
  11. syz-manager/mgrconfig: refactor more

    dvyukov committed Aug 1, 2018
    Complete is still too long and complex. Split more.
    
    Update #538
  12. syz-manager/mgrconfig: refactor Complete

    dvyukov committed Aug 1, 2018
    Split the very long function into 2.
    
    Update #538
  13. pkg/report: refactor test

    dvyukov committed Aug 1, 2018
    Split a long function.
    
    Update #538
  14. prog: strenghten type checking during validation

    dvyukov committed Aug 1, 2018
    Check that argument types match expected static types.
    I.e. detect when, say, syscall argument is a resource,
    but actual generated argument is a pointer.
  15. prog: refactor calcStaticPriorities

    dvyukov committed Aug 1, 2018
    Factor out several helper functions.
    
    Update #538
  16. prog: split and simplify Mutate

    dvyukov committed Aug 1, 2018
    Update #538
  17. prog: introduce debugValidate

    dvyukov committed Aug 1, 2018
    Move debug validation into a separate function.
    
    Update #538
  18. prog: refactor defaultArg/isDefaultArg

    dvyukov committed Aug 1, 2018
    Refactor from single-big-switch to type methods.
    
    Update #538
  19. prog: refactor SerializeForExec

    dvyukov committed Aug 1, 2018
    Factor copyin, copyout and checksums into separate functions.
    Also slightly tidy csum analysis.
    
    Update #538
  20. pkg/ipc: refactor output parsing

    dvyukov committed Aug 1, 2018
    readOutCoverage was complete mess.
    Split it into several functions.
    Use callReply struct directly.
    Make error handling more idiomatic.
    
    Update #538
  21. syz-fuzzer: slightly simplify main

    dvyukov committed Aug 1, 2018
    Move output type parsing into a separate function.
    
    Update #538
  22. syz-manager/mgrconfig: better handling of unknown os/arch

    dvyukov committed Aug 1, 2018
    Produce a readable error instead of crashing on nil deref.
Older
You can’t perform that action at this time.