Skip to content
Permalink
Tree: 48359b9777
Commits on Dec 1, 2017
  1. dashboard/app: improve needRepro

    dvyukov committed Dec 1, 2017
    Don't reproduce corrupted reports.
    Don't reproduce if canonical bug already has repro.
  2. dashboard/app: cosmetic changes to manager stats

    dvyukov committed Dec 1, 2017
  3. pkg/report: return raw log in Report.Output

    xairy committed Dec 1, 2017
  4. dashboard/app: fix misspelled field in template

    dvyukov committed Dec 1, 2017
    Also change code to catch such bugs in tests in future.
    The problem was that template.Execute already wrote something
    into w before returning error, so though the function
    returned an error we served 200 instead of 500.
  5. dashboard/app: add manager monitoring

    dvyukov committed Nov 30, 2017
    Make it possible to monitor health and operation
    of all managers from dashboard.
    1. Notify dashboard about internal syz-ci errors
       (currently we don't know when/if they happen).
    2. Send statistics from managers to dashboard.
  6. pkg/report, pkg/repro: fix report parsing

    xairy authored and dvyukov committed Nov 30, 2017
    pkg/repro expects pkg/report to return CrashStart index in the whole report,
    not only in the kernel output.
Commits on Nov 30, 2017
  1. pkg/report: improve task hung report headers

    xairy committed Nov 30, 2017
  2. syz-ci: test images before using them

    dvyukov committed Nov 29, 2017
    Boot and minimally test images before declaring them as good
    and switching to using them.
    
    If image build/boot/test fails, upload report about this to dashboard.
  3. pkg/report: improve trying to register non-static key header

    xairy committed Nov 29, 2017
  4. tools/syz-crush: fix for new multi-target world

    dvyukov committed Nov 30, 2017
Commits on Nov 29, 2017
  1. pkg/report: include Maintainers into report

    dvyukov committed Nov 29, 2017
    Currently getting a complete report requires a complex,
    multi-step dance (including getting information that
    external users are not interested in -- guilty file).
    
    Simplify interface down to 2 functions: Parse and Symbolize.
    Parse does what it did before, Symbolize symbolizes report
    and fills in maintainers. This simplifies both implementations
    of Reporter interface and all users of the interface.
    
    Potentially we could get this down to 1 function Parse
    that does everything. However, (1) Symbolize can fail,
    while Parse cannot, (2) usually we want to ignore (log)
    Symbolize errors, but otherwise proceed with the report,
    (3) repro does not need symbolization for all but the
    last report.
  2. pkg/report: improve bad unlock balance corruption detection

    xairy authored and dvyukov committed Nov 29, 2017
  3. pkg/report: add Output to Report

    dvyukov committed Nov 29, 2017
    Whole raw output is indivisble part of Report,
    currently we always pass Output separately along with Report.
    Make Output a Report field.
    
    Then, put whole Report into manager Crash and repro context and Result.
    There is little point in passing Report as aa bunch of separate fields.
  4. pkg/report: detect suspicious RCU usage report corruption

    xairy committed Nov 29, 2017
  5. pkg/report: add sl*b.c to guilty blacklist

    xairy committed Nov 29, 2017
  6. pkg/repro: rerun repro when report is corrupted

    xairy authored and dvyukov committed Nov 24, 2017
  7. prog: support bytesizeN for vma

    dvyukov committed Nov 29, 2017
    I guess this is currently unused,
    but ignoring bytesizeN for vma looks wrong.
    If user asks for bytesizeN for vma, divide vma size by N.
  8. docs: use 'c++' to build on FreeBSD

    emaste authored and dvyukov committed Nov 28, 2017
    Building the executor via `gcc executor/executor_freebsd.cc ...`
    requires that a GCC package first be installed on the FreeBSD VM image.
    The FreeBSD base system comes with Clang already installed, so we can
    build via `c++ executor/executor_freebsd.cc ...` and avoid having to
    install additional packages.
Commits on Nov 28, 2017
  1. prog: repair arrays/buffers with incorrect size in Deserialize

    dvyukov committed Nov 28, 2017
    For string[N] we successfully deserialize a string of any length.
    Similarly for a fixed-size array[T, N] we successfully deserialize
    an array of any size.
    Such programs later crash in foreachSubargOffset because static size
    Type.Size() does not match what we've calculated iterating over fields.
    The crash happens only in SerializeForExec in syz-fuzzer,
    which is especially bad.
    Fix this from both sides:
    1. Validate sizes of arrays/buffers in Validate.
    2. Repair incorrect sizes in Deserialize.
  2. dashboard/app: fix purging of old crashes

    dvyukov committed Nov 28, 2017
    We sorted by Report (which is a random int ID) instead of ReportLen.
    Sort by ReportLen (order is opposite of what of queryCrashesForBug uses).
  3. pkg/report: fix corrupted stack trace detection

    xairy authored and dvyukov committed Nov 28, 2017
    Look for stack frames in the next 10 lines after 'Call Trace' instead of 3.
  4. pkg/compiler: add check that len does not refer to array with varlen …

    dvyukov committed Nov 28, 2017
    …elements
    
    This [almost] always means a bug in descriptions.
    Fix all bugs identified by the check.
Commits on Nov 27, 2017
  1. sys/linux: add binder descriptions

    dvyukov committed Nov 27, 2017
  2. sys/linux: assorted improvements to descriptions

    dvyukov committed Nov 27, 2017
  3. sys/linux: fix control len in msghdr's

    dvyukov committed Nov 27, 2017
    Contol len is in bytes, not array elements.
  4. sys/linux: improve hash generation for KEYCTL_DH_COMPUTE

    dvyukov committed Nov 27, 2017
    KEYCTL_DH_COMPUTE used the old fixed list of algorithm names.
    Use the new code for algorithm generation.
    + it needs only SHASH algs, but we passed in all alg names.
    Pass only SHASH algs.
  5. executor: use /proc/thread-self/fail-nth instead of /proc/self/task/%…

    dvyukov committed Nov 27, 2017
    …d/fail-nth
    
    Makes code slightly simpler.
Commits on Nov 24, 2017
  1. sys/linux: remove crypto algs starting with __

    dvyukov committed Nov 24, 2017
    These can't be created from user-space.
  2. sys/linux: prefix non-autogenerated files with init_

    dvyukov committed Nov 24, 2017
  3. sys/linux: improve AF_ALG alg name generation

    dvyukov committed Nov 22, 2017
    There is effectively infinite number of possible crypto
    algorithm names due to templates. Plus there is tricky
    relation between algorithms and algorithm type names.
    
    This change adds custom mutator for sockaddr_alg struct
    to improve variance in generated algorithms.
  4. syz-manager: fix up osutil.RunCmd call

    dvyukov committed Nov 23, 2017
    Fixes #435
Older
You can’t perform that action at this time.