Skip to content
Tree: b9f655072c
Commits on Apr 9, 2018
  1. pkg/report: fix typo in test failure message

    dvyukov committed Apr 9, 2018
  2. pkg/report: improve corrupted report detection

    dvyukov committed Apr 9, 2018
    1. If we see should_failslab frames during report parsing,
       that's a corrupted report with intermixed frames from
       fault injection stack.
    2. If we matched report title and this report should contains
       a guilty stack frame, but we failed to extract any frame,
       consider it as corrupted.
    New tests added. Also one of the old tests is fixed.
  3. Update

    dvyukov committed Apr 9, 2018
Commits on Apr 8, 2018
  1. pkg/host: refactor code

    dvyukov committed Apr 8, 2018
    Fix warnings pointed out by gometalinter.
  2. tools/syz-execprog: reduce log level of some messages

    dvyukov committed Apr 8, 2018
    Too much output by default.
Commits on Apr 7, 2018
  1. pkg/report: strip "panic_on_warn set" more aggressively

    dvyukov committed Apr 7, 2018
    KMSAN reports can be short, but still include full stack.
    The added test is only 28 lines, so reduce the threshold from 40 to 25 lines.
  2. syz-manager: don't abort on disabled syscalls

    dvyukov committed Apr 7, 2018
    It turns out to be too difficult to specify a precise set
    of syscalls when, say, all setsockopt's for some sockets
    need to be enabled, but not enabled for other sockets.
    Just warn user about disabled syscalls, but don't abort.
  3. syz-manager/mgrconfig: restore old enable/disable_syscalls behavior

    dvyukov committed Apr 7, 2018
    The previous change in behavior break a bunch of existing configs
    ("bpf" does not match anything). Restore old behavior.
    To get only write syscall, one can do:
    enable_syscalls: "write",
    disable_syscalls: "write$*"
  4. tools: fix again

    dvyukov committed Apr 7, 2018
  5. tools: improve

    dvyukov committed Apr 7, 2018
    1. Account for the fact that go can be already in path.
    2. Unset GOROOT in case it is set already.
    3. export variables (not sure how it worked for me).
Commits on Apr 6, 2018
  1. pkg/ipc: disable coverage collection by default

    dvyukov committed Apr 6, 2018
    syz-manager always passes explicit value for the flag.
    syz-stress does not need coverage.
    The only real user is syz-execprog. syz-execprog already
    forces coverage with -coverfile is given. Coverage is harmful
    for external users trying to reproduce reported bugs.
    For the remaining cases of syzkaller developers running
    syz-execprog on KCOV-enabled kernel, the flag can be given
    manually if really needed.
    Fixes #554
  2. syz-manager: warn about disabled syscalls in enable_syscalls

    dvyukov committed Apr 6, 2018
    syz-manager used to silently transitively disable syscalls
    for which input resources can't be created.
    This caused lots of confusion, or worse, users did not notice
    that syzkaller does not actually test what they want.
    Fail loudly with a readable explanation when a syscall
    explicitly enabled in enable_syscalls is actually disabled.
    Note: this requires to slightly change enable/disable_syscalls
    matching logic. Previously "foo" would match "foo" and all "foo$BAR",
    now it matches only "foo". But "foo*" can be used to match all
  3. sys/linux: improve team descriptions

    dvyukov committed Apr 6, 2018
    1. Create ifindex_team, because TEAM_ATTR_TEAM_IFINDEX must
       always point to a team device.
    2. Remove output only attributes like team_attr_item_port, TEAM_ATTR_LIST_PORT,
    3. Restructure team_nl_option_policy: we always want TEAM_ATTR_OPTION_NAME/TYPE/DATA
    4. Provide specialized team_nl_option_policy_per_port and team_nl_option_policy_array.
    5. Make team_attr_option varlen.
    6. Remove unnecessary indirection via team_attr_list_option/team_attr_list_port.
    7. Fix data type for bpf_hash_func and lb_tx_hash_to_port_mapping.
  4. executor: create team device

    dvyukov committed Apr 6, 2018
  5. pkg/report: don't blame kcov

    dvyukov committed Apr 6, 2018
    kcov frame can be present in rcu stalls, ignore it.
  6. sys/linux: add netlink generic team descriptions

    liuhangbin authored and dvyukov committed Apr 3, 2018
    Signed-off-by: Hangbin Liu <>
Commits on Apr 5, 2018
  1. tools: add a script that setups everything

    dvyukov committed Apr 5, 2018
  2. tools/syz-execprog: dump coverage in text format

    dvyukov committed Apr 5, 2018
    There is no point in using sancov,
    it does not do anything other than transforming
    binary format to a useful text format.
    Write out text format directly.
  3. dashboard/app: allow deplaying intial bug reporting

    dvyukov committed Apr 5, 2018
    This is useful to collect reproducers and more info
    about trees where the bug happens before it is first reported.
  4. Update AUTHORS and CONTRIBUTORS files

    mitchell0000 authored and dvyukov committed Apr 3, 2018
  5. executor: update to support FreeBSD kcov

    mitchell0000 authored and dvyukov committed Apr 4, 2018
    Make the required changes to the BSD executor file to interface with
    FreeBSD's kernel coverage implementation. This will allow coverage to be
    used when running syzkaller on this platform.
Commits on Apr 2, 2018
  1. sys/linux: test various binfmt's in execve

    dvyukov committed Apr 2, 2018
  2. pkg/compiler: support non-zero terminated filenames

    dvyukov committed Apr 2, 2018
    Now file names become:
    with a possibility of using other string features:
    string[filename, CONST_SIZE]
    and filename is left as type alias as it is commonly used:
    type filename string[filename]
  3. sys/syz-extract: fix linux/arm

    dvyukov committed Apr 2, 2018
    At some point extract for linux/arm started to fail with:
    extracting from key.txt
    	failed to run compiler: exit status 1
    /tmp/ccT6o7iZ.s: Assembler messages:
    /tmp/ccT6o7iZ.s:4: Error: unknown pseudo-op: `.syntax'
    This is caused by arch/arm/include/asm/unified.h:
    __asm__(".syntax unified");
    Ignore all __asm__ directives as we are cross compiling.
  4. Makefile: fix install_prerequisites

    dvyukov committed Apr 2, 2018
    apt-get complains if all these packages are installed at once.
  5. syz-manager: move syscall info to a separate page

    dvyukov committed Apr 2, 2018
    It's rarely needed. So move from main page.
Commits on Apr 1, 2018
  1. executor: fix unchecked result warning

    dvyukov committed Apr 1, 2018
  2. sys/linux: add support for reading partition tables

    dvyukov committed Apr 1, 2018
  3. prog: support big-endian during hints matching

    dvyukov committed Apr 1, 2018
    Use big-endian match/replace for both blobs and ints.
    Sometimes we have unmarked blobs (no little/big-endian info);
    for ANYBLOBs we intentionally lose all marking;
    but even for marked ints we may need this too.
    Consider that kernel code does not convert the data
    (i.e. not ntohs(pkt->proto) == ETH_P_BATMAN),
    but instead converts the constant (i.e. pkt->proto == htons(ETH_P_BATMAN)).
    In such case we will see dynamic operand that does not
    match what we have in the program.
  4. dashboard/app: support undup command

    dvyukov committed Apr 1, 2018
    Fixes #520
You can’t perform that action at this time.