Skip to content
Permalink
Tree: 370797126e
Commits on Sep 20, 2018
  1. tools/create-openbsd-gce-ci.sh mount 10G ramdisk for worker images

    blackgnezdo authored and dvyukov committed Sep 20, 2018
  2. syz-ci: fix manager http addr

    dvyukov committed Sep 20, 2018
    Manager http addr is usually just ":port".
    Prepend "127.0.0.1" in such case.
  3. vm/vmm: recover from vmctl errors faster

    dvyukov committed Sep 20, 2018
    vmctl start periodically fails with:
    	vmctl: start vm command failed: Operation already in progress
    
    So try to sleep for a bit after vmctl stop.
    And detect when vmctl start terminates prematurely
    to avoid 10 minute timeout for ip extraction.
  4. dashboard/app: show coverage report per-manager

    dvyukov committed Sep 20, 2018
    Now that syz-ci can upload coverage reports to GCS,
    we can show up-to-date coverage for each manager
    rather than a single static outdated file per namespace.
  5. dashboard/app: tidy up UI

    dvyukov committed Sep 20, 2018
    Don't show maintainers for crashes if we don't have them (only linux has).
    Show short git hashes for kernel/syzkaller, 40 chars looks excessive (full hash is in hint).
    Show current build kernel/syzkaller git hash in managers table.
    Remove fuzzing time from managers table (does not seem too useful).
  6. syz-ci: upload coverage reports to GCS

    dvyukov committed Sep 20, 2018
    Upload coverage reports from all managers to GCS
    after 6 hours of runtime (to make it more apples-to-apples).
  7. dashboard/app: change backup bucket

    dvyukov committed Sep 20, 2018
    Backup datastore into a separate bucket as it creates lots of garbage.
  8. sys/linux: fix RTA_EXPIRES in rtm_ipv6_policy

    tklauser authored and dvyukov committed Sep 20, 2018
  9. vm/vmm: don't start separate process for console

    dvyukov committed Sep 19, 2018
    vmctl console fails from time to time with:
    
    vmctl: console not found
    
    Probably there is some race (most of these things assume
    that there is a human typing commands with delays).
    
    Also, vmctl start can connect to console itself with -c flag.
    So use that because it both solves the console race and
    also makes code much more similar to other VM implementations (qemu, gvisor).
    This also eliminates 3 additional goroutines per VM.
  10. vm/vmm: fix fd leaks

    dvyukov committed Sep 20, 2018
    Close pipe fd's on failure paths.
    Don't close outr because OutputMerger closes all passed in fd's.
  11. vm/vmm: increase timeouts

    dvyukov committed Sep 19, 2018
    A dozen of vmm's running on a GCE machine can be really slow to boot.
    Timeouts have only single goal: preventing complete system stalls
    when/if external commands episodically hang. There is no value
    in keeping them as close as possible to expected durations.
    This can only lead to various flakes. Increase timeouts by an
    order of magnitude.
  12. vm/vmm: properly shutdown output reading goroutine

    dvyukov committed Sep 19, 2018
    The goroutine sends on bootOutputStop to notify about its completion,
    but the main goroutine is not receiving from the chan on success
    and since the chan in unbuffered, the output reading goroutine
    hangs on the send forever.
  13. vm/vmm: make more robust after restarts

    dvyukov committed Sep 19, 2018
    Instances from the previous run can still be running,
    so always stop the previous instances before starting new ones.
  14. vm/vmm: don't prefix vm name with syzkaller

    dvyukov committed Sep 19, 2018
    I am getting:
    failed to run vmctl -name syzkaller-ci-openbsd-main-test-0
    vmctl: name too long
    
    The name is auto-generated from parts which ensure that it is unique.
    We can't easily name it shorter. So strip the syzkaller prefix,
    which is not strictly necessary.
  15. vm/vmm: remove cpu parameter, make template optional

    dvyukov committed Sep 19, 2018
    CPU is not used. Remove it.
    Template is not strictly necessary. Make it optional.
  16. vm/vmm: increase maximum number of VMs

    dvyukov committed Sep 19, 2018
    8 is way too low. A modern beefy machine can host a hundred of VMs freely.
    Make the limit consistent for all of qemu/kvm/gvisor/vmm and set it to 128.
  17. executor: fix build

    dvyukov committed Sep 20, 2018
    Move debug_dump_data back to executor.cc.
    debug_dump_data in common_linux.h does not play well
    with pkg/csource debug stripping logic. It strips a large
    random piece of code since it thinks debug_dump_data
    definition is actually debug_dump_data call site.
  18. syz-manager: improve coverage source file path generation

    dvyukov committed Sep 19, 2018
    If we don't determine correct prefix (e.g. some paths are not full paths),
    we can plumb kernel source path twice. It seems that it's not possible
    to do the right thing in all possible combinations of what can be in
    debug info, if the kernel sources were moved or not, if we have kernel_src
    or not. But at least don't plumb kernel_src second time.
  19. syz-ci: enable net/http/pprof

    dvyukov committed Sep 19, 2018
    Useful to have for all servers.
  20. Makefile: test openbsd build

    dvyukov committed Sep 19, 2018
  21. executor: fix build

    dvyukov committed Sep 19, 2018
    Fix build after "executor: remove unused var flag_sandbox_privs".
    Some variables/functions can't be static as they are unused on some OSes,
    which produces unused warnings.
  22. syz-fuzzer: fix retry logic on executor failures

    dvyukov committed Sep 19, 2018
    I guess the condition was always meant to be "!ok || try > 10".
    So we always ignored non-executor failures, and failed on executor ones.
    I think now it's better to just retry always. If the error is something
    persistent we will fail after 10 tries anyway.
  23. executor: move debug_dump_data() into common_linux.h

    mptre authored and dvyukov committed Sep 20, 2018
    Compiling the executor on OpenBSD currently fails:
    
      executor/executor.cc:1316:6: error: unused function 'debug_dump_data'
  24. dashboard/config: update upstream-kmsan.config to v4.19-rc4

    ramosian-glider authored and dvyukov committed Sep 20, 2018
    The previous version has accidentally disabled many configs that were previously enabled on syzbot.
  25. tools/*openbsd*: smaller VMM images and tweaks.

    blackgnezdo authored and dvyukov committed Sep 19, 2018
Commits on Sep 19, 2018
  1. sys/linux: add MFD_HUGETLB

    tklauser authored and dvyukov committed Sep 19, 2018
  2. sys/linux: add MCL_ONFAULT

    tklauser authored and dvyukov committed Sep 19, 2018
  3. docs/openbsd: add missing template directive to example configuration

    mptre authored and dvyukov committed Sep 19, 2018
Commits on Sep 18, 2018
  1. Update upstream-kmsan.config to 4.19.0-rc3

    ramosian-glider committed Sep 18, 2018
    Also ensure CONFIG_DRM_AMD_DC is off.
Commits on Sep 17, 2018
  1. executor: remove unused var flag_sandbox_privs

    dvyukov committed Sep 17, 2018
    Remove unused var flag_sandbox_privs (which was used for what?).
    Decleare all variables as static to detect such cases in future.
  2. executor: make sandboxes more modular

    dvyukov committed Sep 17, 2018
    Currently we have a global fixed set of sandboxes,
    which makes it hard to add new OS-specific ones
    (all OSes need to updated to say that they don't
    support this sandbox).
    Let it each OS say what sandboxes it supports instead.
  3. RFC: android: Add support for untrusted_app sandboxing (#697)

    zachriggle authored and dvyukov committed Sep 17, 2018
    executor: add support for android_untrusted_app sandbox
    
    This adds a new sandbox type, 'android_untrusted_app', which restricts
    syz-executor to the privileges which are available to third-party applications,
    e.g. those installed from the Google Play store.
    
    In particular, this uses the UID space reserved for applications (instead of
    the 'setuid' sandbox, which uses the traditional 'nobody' user / 65534)
    as well as a set of groups which the Android-specific kernels are aware of,
    and finally ensures that the SELinux context is set appropriately.
    
    Dependencies on libselinux are avoided by manually implementing the few
    functions that are needed to change the context of the current process,
    and arbitrary files.  The underlying mechanisms are relatively simple.
    
    Fixes #643
    
    Test: make presubmit
    Bug: http://b/112900774
  4. pkg/runtest, pkg/csource: don't run tests on openbsd

    dvyukov committed Sep 16, 2018
    The tests are currently broken on openbsd.
  5. sys/targets: use native compiler for test OS

    dvyukov committed Sep 16, 2018
    We used to use gcc for test OS, but this is linux-specific.
    Other OSes may use c++ or clang as main compiler, so use whatever
    is the default for the host OS.
    
    Update #712
Older
You can’t perform that action at this time.