Skip to content
Permalink
Tree: 9ccc1d4565
Commits on Aug 14, 2018
  1. sys/linux: add uinput support

    dvyukov committed Aug 14, 2018
  2. sys/linux: add uhid support

    dvyukov committed Aug 14, 2018
  3. pkg/build: build asan-ified fuchsia

    dvyukov committed Aug 14, 2018
    Building with asan is useful to detect any bugs in C/C++ services.
Commits on Aug 10, 2018
  1. pkg/compiler: prohibit subargs

    dvyukov committed Aug 10, 2018
  2. dashboard/config: enable KMSAN in KMSAN config

    dvyukov committed Aug 10, 2018
    Somehow it ended up being turned off.
Commits on Aug 9, 2018
  1. executor: fix FS_XFLAG_IMMUTABLE for 32-bit mode

    dvyukov committed Aug 9, 2018
    FS_IOC_FSSETXATTR is not supported in compat mode, use FS_IOC_SETFLAGS instead.
  2. pkg/csource: fix 32-bit syscall calls

    dvyukov committed Aug 9, 2018
    syscall accepts args as ellipsis, resources are uint64
    and take 2 slots without the cast, which is wrong.
    Cast resources to long when passing to syscall.
  3. executor: fix cgroups

    dvyukov committed Aug 9, 2018
    1. Create per-proc cgroup in executor.
    2. Setup cgroups after chdir into test dir
       (it assumes relative paths against test dir).
    3. Add test.
  4. executor: mount binfmt_mist

    dvyukov committed Aug 9, 2018
    We forgot to mount binfmt_misc. Mount it. Add a test.
    Increase per-call timeout, otherwise last execve timesout.
    Fix csource waiting for call completion at the end of program.
  5. executor: clean up immutable dirs

    dvyukov committed Aug 8, 2018
    Turns out dirs can be immutable too.
    
    Update #650
  6. executor: remove unnecessary hooks on fuchsia

    dvyukov committed Aug 8, 2018
    These are not needed now.
Commits on Aug 8, 2018
  1. sys/fuchsia: add syscall description for binding channels to Launcher

    dokyungs authored and dvyukov committed Aug 3, 2018
  2. executor: manually define struct fsxattr

    dvyukov committed Aug 8, 2018
    It should be in <linux/fs.h> but is not there on some distros/arches as expected.
    
    Travis build fails with:
    
          		<stdin>: In function ‘remove_dir’:
            		<stdin>:152:13: error: variable ‘attr’ has initializer but incomplete type
            		<stdin>:152:13: error: excess elements in struct initializer [-Werror]
            		<stdin>:152:13: error: (near initialization for ‘attr’) [-Werror]
            		<stdin>:152:21: error: storage size of ‘attr’ isn’t known
            		<stdin>:153:20: error: ‘FS_IOC_FSSETXATTR’ undeclared (first use in this function)
            		<stdin>:153:20: note: each undeclared identifier is reported only once for each function it appears in
            		<stdin>:152:21: error: unused variable ‘attr’ [-Werror=unused-variable]
            		cc1: all warnings being treated as errors
    
    https://travis-ci.org/google/syzkaller/jobs/413574080
  3. executor: clean up immutable files

    dvyukov committed Aug 8, 2018
    Fixes #650
  4. pkg/runtest: assorted improvements

    dvyukov committed Aug 8, 2018
    Support checking "blocked"/"unfinished" flags for calls.
    Support test constanints, e.g. "requires: threaded" or "requires: -sandbox=setuid".
    Some improvements in tools/syz-runtest.
    
    Update #603
  5. pkg/csource: don't do checkpoint/reset net with setuid sandbox

    dvyukov committed Aug 8, 2018
    Missing part of
    "executor: don't checkpoint/reset net namespace with setuid sandbox"
  6. prog: collect all prog comments

    dvyukov committed Aug 8, 2018
    Parse and collect and prog comments.
    Will be needed for runtest annotations
    (e.g. "requires threaded mode", etc).
  7. executor: remap cover fd's to higher values

    dvyukov committed Aug 8, 2018
    Remap cover fd's to 24x range to prevent interference
    with fd's used during fuzzing and also to make
    fd number consistent with/without cover enabled.
  8. executor: don't checkpoint/reset net namespace with setuid sandbox

    dvyukov committed Aug 8, 2018
    After setuid the process won't have rights to reset net namespace,
    but it should not be able to change it during fuzzing too.
    So just skip that part.
  9. executor: checkpoint net namespace in the right namespace

    dpa-g authored and dvyukov committed Aug 3, 2018
    With checkpoint_net_namespace moved to setup_common,
    and Android fuzzing session terminates prematurely due to
    ipv4_tables not being initialized at this time.
    Moving the call back to loop fixes this behavior.
Commits on Aug 5, 2018
  1. executor: check write return value

    dvyukov committed Aug 5, 2018
    gcc complains:
    
    error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
    
    Also fix includes.
Commits on Aug 4, 2018
  1. syz-manager: fix number of syscalls in web ui

    dvyukov committed Aug 4, 2018
  2. executor: abort fuse connection

    dvyukov committed Aug 4, 2018
    If the test process is not dying after 100ms,
    abort all fuse connections in the system.
    This gets rid at least of simple fuse deadlocks,
    let's see how well this works in all cases.
  3. pkg/report: skip more spinlock frames

    dvyukov committed Aug 4, 2018
    Currently this report is named:
    "general protection fault in perf_trace_lock"
    which is bad.
  4. pkg/osutil: replace UmountAll with RemoveAll

    dvyukov committed Aug 4, 2018
    In pkg/ipc we don't just want to UmountAll,
    we want to remove all handling as many cases as possible
    (mounts, read-only files, etc, similar to executor's remove_dir).
    So unmounting and removing needs to be a single function,
    so that it can handle all these cases.
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.
Older
You can’t perform that action at this time.