Skip to content
Permalink
Tree: 1a381291a3
Commits on Jul 29, 2018
  1. executor: collect coverage from unfinished syscalls

    dvyukov committed Jul 29, 2018
    Write coverage from unfinished syscalls.
    Also detect when a syscall was blocked during execution,
    even if it finished. Helpful for fallback coverage.
    
    Fixes #580
  2. vm/gce: fix build

    dvyukov committed Jul 29, 2018
    fail
  3. vm: fix "kill fuzzer on first kernel bug"

    dvyukov committed Jul 29, 2018
    The problem with that commit is that for GCE implementation
    we immidiately kill console connection too when receive diagnose signal.
    This leads to truncated output.
Commits on Jul 27, 2018
  1. syz-fuzzer: generate programs more frequently if no coverage

    dvyukov committed Jul 27, 2018
    Generating every other time should be good,
    because fallback signal is really weak.
  2. dashboard/app: fix crash selection for reporting

    dvyukov committed Jul 27, 2018
    See the issue for the problem description.
    Include repro level into reporting priority,
    so that we can order by just it during selection
    and ignore ReproC/ReproSyz.
    
    Fixes #634
  3. pkg/csource: turn off 32-bit tests

    dvyukov committed Jul 27, 2018
    Test OS fails the same was as linux on travis.
  4. executor: disable clang-format for some parts

    dvyukov committed Jul 27, 2018
    clang-format badly mishandles this part,
    moreover different versions mishandle it differently.
  5. pkg/csource: rewrite gen.sh in Go

    dvyukov committed Jul 27, 2018
    Shell files cause portability problems.
    On Linux it's hard to install /bin/sh,
    /bin/bash is not present on *BSD.
    Any solution is hard to test on Darwin.
    Don't even want to mention Windows.
    
    Just do it in Go.
  6. pkg/csource: add option to trace syscall results

    dvyukov committed Jul 26, 2018
    This will be needed for testing of generated programs.
  7. pkg/csource: tidy generated code

    dvyukov committed Jul 26, 2018
    1. Remove unnecessary includes.
    2. Remove thunk function in threaded mode.
    3. Inline syscalls into main for the simplest case.
    4. Define main in common.h rather than form with printfs.
    5. Fix generation for repeat mode
       (we had 2 infinite loops: in main and in loop).
    6. Remove unused functions (setup/reset_loop, setup/reset_test,
       sandbox_namespace, etc).
  8. executor: simplify event_timedwait

    dvyukov committed Jul 26, 2018
    We always have current_time_ms in event_timedwait
    so use it instead of manual clock_gettime calls
    which tend to be bulkier.
  9. pkg/host: support test OS

    dvyukov committed Jul 25, 2018
    test OS parasitizeson other OSes just as akaros,
    and there is nothing to detect as well.
    So use the same stub for test as for akaros.
  10. executor: ignore unshare errors in setuid sandbox

    dvyukov committed Jul 25, 2018
    We already do this in sandbox=none, but forgot about setuid.
  11. prog: parse comments in serialized programs

    dvyukov committed Jul 25, 2018
    Remember per-call comments, will be useful for annotating tests.
    Also support this form:
    call() # comment
Commits on Jul 26, 2018
  1. adb: Add console logic for ttyUSB.serial

    zachriggle authored and dvyukov committed Jul 19, 2018
    By using UDEV rules, we can create device nodes which exist at
    
    	/dev/ttyUSB.{android device serial}
    
    Which makes it easier to determine which console belongs to a device.
    
    While this is non-standard behavior, it's an inexpensive path check
    and makes the lookup faster and deterministic.
Commits on Jul 25, 2018
  1. pkg/csource: say what compiler is missing

    dvyukov committed Jul 25, 2018
  2. prog: move MaxPids const to prog

    dvyukov committed Jul 25, 2018
    The const may be needed by other packages.
    E.g. when checking manager config.
  3. executor: remove unused file

    dvyukov committed Jul 24, 2018
    Leftover after "executor: overhaul".
  4. Makefile: fix build

    dvyukov committed Jul 25, 2018
  5. Makefile: install /bin/sh

    dvyukov committed Jul 25, 2018
    Installs /bin/sh required for pkg/csource/gen.sh
  6. pkg/csource: remove /bin/bash assumption

    mptre authored and dvyukov committed Jul 24, 2018
    OpenBSD and probably other BSDs does not ship with /bin/bash. This particular
    script runs fine with regular /bin/sh.
  7. [manager] Fix typo.

    flowerhack authored and dvyukov committed Jul 25, 2018
    s/cash/crash/
  8. sys/targets: fix Fuchsia lib directory

    dokyungs authored and dvyukov committed Jul 24, 2018
    to fix linking error when building syz-executor for Fuchsia.
Commits on Jul 24, 2018
  1. pkg/build: save kernel config early

    dvyukov committed Jul 24, 2018
    Currently we don't capture kernel config for broken builds
    because the config is saved as the last step.
    Save it as early as possible.
  2. dashboard/config: disable CONFIG_DRM_AMDGP

    dvyukov committed Jul 24, 2018
    Causes build failures:
    https://syzkaller.appspot.com/bug?extid=9118f0a7ae77f4eee4a9
    and we don't test it anyway.
    
    While we are here disable other GPUs
    and update config to latest version.
  3. Makefile: disable 32-bit executor build

    dvyukov committed Jul 24, 2018
    Fails on travis...
  4. vm/qemu, vm/gce: kill fuzzer on first kernel bug

    dvyukov committed Jul 24, 2018
    Some kernel bugs don't stop kernel.
    For such bugs whiel vm.MonitorExecution waits for kernel output for 10 secs,
    fuzzer continues running programs and produces tons of output
    after the kernel bug message. Kill fuzzer once MonitorExecution
    detects a kernel bug.
  5. executor: fix strict aliasing violations

    dvyukov committed Jul 24, 2018
    test_copyin does bad things. Fix that.
    
    executor/test.h: In function ‘int test_copyin()’:
    executor/common.h:299:16: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
       *(type*)(addr) = (type)(val);                                     \
                    ^
  6. executor: overhaul

    dvyukov committed Jul 20, 2018
    Make as much code as possible shared between all OSes.
    In particular main is now common across all OSes.
    Make more code shared between executor and csource
    (in particular, loop function and threaded execution logic).
    Also make loop and threaded logic shared across all OSes.
    Make more posix/unix code shared across OSes
    (e.g. signal handling, pthread creation, etc).
    Plus other changes along similar lines.
    Also support test OS in executor (based on portable posix)
    and add 4 arches that cover all execution modes
    (fork server/no fork server, shmem/no shmem).
    
    This change paves way for testing of executor code
    and allows to preserve consistency across OSes and executor/csource.
  7. pkg/report: add format for akaros warnings

    dvyukov committed Jul 23, 2018
Commits on Jul 23, 2018
  1. vm/qemu: use e1000 instead of e1000e

    dvyukov committed Jul 23, 2018
    e1000e fails on recent Debian distros with:
    Initialization of device e1000e failed: failed to find romfile "efi-e1000e.rom
Older
You can’t perform that action at this time.