Skip to content
Permalink
Tree: 3e5d1beb82
Commits on Jul 26, 2019
  1. prog: fix crash in blob mutation

    dvyukov committed Jul 26, 2019
    If we deserialized a huge blob (larger than max blob size),
    then we can get a negative size in the "Insert random bytes" case at:
    
    		if r := int(maxLen) - len(data); n > r {
    			n = r
    		}
    
    Don't insert bytes if data is already larger than maxLen.
  2. prog: don't minimize ProcType to 0

    dvyukov committed Jul 26, 2019
    Default value for ProcType is 0 (same for all PID's).
    Usually 0 either does not make sense at all or make different PIDs collide
    (since we use ProcType to separate value ranges for different PIDs).
    So don't change ProcType to 0 unless the type is explicitly marked as opt
    (in that case we will also generate 0 anyway).
  3. sys/linux: add usbmon add vfio descriptions

    VeronicaRadu authored and dvyukov committed Jul 26, 2019
Commits on Jul 25, 2019
  1. dashboard/app: ensure that tests consume all external reports

    dvyukov committed Jul 25, 2019
    Ensure that tests consume all external reports as we already do for emails.
    Reports is the most important thing because they involve people,
    so tests need to be explicit and we want to notice changes in any reporting.
  2. .gometalinter.json: delete

    dvyukov committed Jul 25, 2019
    We don't use gometalinter anymore.
  3. dashboard/config: update upstream-kasan.config

    dvyukov committed Jul 25, 2019
    Update config to 5.3.0-rc1.
    Enable some new networking configs which should be able to reach.
    Enable CONFIG_USB_DUMMY_HCD for /dev/usbmon testing.
Commits on Jul 24, 2019
  1. sys/linux: fix USB runtest

    xairy authored and dvyukov committed Jul 23, 2019
Commits on Jul 23, 2019
  1. pkg/csource: skip cross-builds that are doomed to fail

    dvyukov committed Jul 23, 2019
    OpenBSD instance failed with:
    
    --- FAIL: TestSysTests (12.50s)
        --- FAIL: TestSysTests/linux/386 (0.16s)
            csource_test.go:145: failed to generate C source for ../../sys/linux/test/binder: cpp failed: exec: "cant-build-linux-on-openbsd": executable file not found in $PATH
    ...
    
    Skip unsupported cross-builds in TestSysTests.
  2. pkg/report: fix linux path prefix trimming

    dvyukov committed Jul 23, 2019
    After f613a7c ("pkg/cover: fix prefix computation") we stopped trimming
    starting "/" from linux path names. This broke get_maintainers.pl script
    which is now given non-existent absolute paths (e.g. "/mm/mmap.c"),
    as the result syzbot can't find any maintainers for bug reports
    and mails them into lkml limbo.
    
    Trim starting slashes and dots. Extend tests for catch this.
  3. pkg/report: refactor argument passing

    dvyukov committed Jul 23, 2019
    We now pass 5 arguments through a bunch of functions,
    this is quite inconvinient when the set of arguments changes.
    Incapsulate all arguments in a struct and pass/store it as a whole.
  4. dashboard/app: add test instructions

    dvyukov committed Jul 23, 2019
  5. vm/gvisor: run runsc with the alsologtostderr option

    avagin authored and dvyukov committed Jul 23, 2019
    $ runsc -h
    ...
      -alsologtostderr=false: send log messages to stderr
    ...
    
    Now gvisor doesn't send log messages on stderr by default,
    and if we want to see these messages, we need to specify the
    alsologtostderr option.
  6. pkg/build: change gcc for clang in fuchsia

    mvanotti authored and dvyukov committed Jul 17, 2019
    Recently fuchsia changed the default compiler from GCC to clang. This
    change updates the paths in the build package.
  7. Makefile: build fuchsia go binaries using the sdk

    mvanotti authored and dvyukov committed Jul 11, 2019
    This commit removes a dependency on fuchsia's tools/devshell/contrib/go,
    which was removed recently[0].
    
    Now to build go binaries for fuchsia we are not relying on the
    fuchsia.git repo at all. The code just needs a copy of the fuchsia
    //third_party/go repository, the fuchsia sdk and a copy of clang.
    
    Users should download the sdk and clang beforehand (see documentation
    for links), and then run (with the correct environment variables):
    
    ```
    $ make TARGETOS=fuchsia TARGETARCH=amd64 \
        SOURCEDIR=$HOME/fuchsia \
        FX_SDK_PATH=${HOME}/sdk/fuchsia-sdk \
        CLANG_PATH=${HOME}/sdk/clang \
        fuchsia_go
    ```
    
    After that, they will be able to build the syzkaller go binaries by
    doing:
    
    ```
    $ make TARGETOS=fuchsia TARGETARCH=amd64 \
        SOURCEDIR=$HOME/fuchsia \
        FX_SDK_PATH=${HOME}/sdk/fuchsia-sdk \
        CLANG_PATH=${HOME}/sdk/clang
    ```
    
    This commits adds two scripts to tools/fuchsia, one for building go in
    fuchsia (just calls the ./make.all script in fuchsia's go repo), and one
    that replaces the devshell/contrib/go script.
    
    Given that go is unsupported in fuchsia, this change might break at any
    point.
    
    [0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/291631
  8. pkg/build: Add ssh keys for fuchsia

    mvanotti authored and dvyukov committed Jul 10, 2019
    This change modifies the way fuchsia is built to add the ssh keys to the
    zbi image after building it. Previously that was done via the
    "extra_ssh_keys" argument to the build system, but that was removed
    recently.
Commits on Jul 22, 2019
  1. sys/linux: extract USB HID ids (#1294)

    xairy committed Jul 22, 2019
    * sys/linux: extract USB HID ids
    
    As it turns out the HID kernel subsystem registers only one USB driver that
    checks that the interface of the connected device has HID class and then looks
    up its own list of vendor/device ids to find a matching driver. This means
    that we currently don't generate proper vendor/device ids for USB HID devices.
    
    This patch updates the syz-usbgen tool to also extract USB HID vendor/device
    ids from a running kernel and makes the generated descriptions for HID devices
    to be patched using the extracted ids.
    
    This patch also contains some minor improvements to USB descriptions
    (better HID descriptions and more replies for some USB classes/drivers).
    
    * sys/linux: run make generate
  2. sys/linux: use AT_FDCWD only for directories

    dvyukov committed Jul 22, 2019
    Currently we use AT_FDCWD as a special value for all file descriptors,
    but it does not make sense for almost all of them (sockets, bpf, etc).
    Use it as a special value only for fd_dir.
  3. executor: drop CAP_SYS_NICE

    dvyukov committed Jul 22, 2019
    A process with CAP_SYS_NICE can bring kernel down by asking for too high SCHED_DEADLINE priority,
    as the result rcu and other system services that use kernel threads will stop functioning.
    Some parameters for SCHED_DEADLINE should be OK, but we don't have means to enforce
    values of indirect syscall arguments. Peter Zijlstra proposed sysctl_deadline_period_{min,max}
    which could be used to enfore safe limits without droppping CAP_SYS_NICE, but we don't have it yet.
    See the following bug for details:
    https://groups.google.com/forum/#!topic/syzkaller-bugs/G6Wl_PKPIWI
  4. sys/linux: improve sched_attr description

    dvyukov committed Jul 22, 2019
    Today we have means to properly describe parent size.
  5. executor: drop CAP_SYS_PTRACE with sandbox=none

    dvyukov committed Jul 22, 2019
    We only drop CAP_SYS_PTRACE for sandbox=namespace,
    but it can equally affect testing with sandbox=none.
    Drop it for sandbox=none, add a test.
  6. pkg/csource: test sys/*/test programs

    dvyukov committed Jul 22, 2019
    Running sys/*/test programs requires real machines and kernels for each OS.
    We can't do that in unit tests, but at least try to deserialize these programs
    so that they don't get rotten.
  7. pkg/mgrconfig: add example for "enable_syscalls"

    dvyukov committed Jul 22, 2019
  8. docs: fix description of ptr type

    dvyukov committed Jul 22, 2019
    ptr has direction as the first argument.
  9. pkg/report: support older format of "bad usercopy"

    dvyukov committed Jul 22, 2019
  10. tools/syz-execprog: remove unused parameter

    blackgnezdo authored and dvyukov committed Jul 21, 2019
  11. sys/openbsd: prevent swap partition device nodes from being created

    mptre authored and dvyukov committed Jul 21, 2019
    Writing to the swap partition during fuzzing can lead to all kinds of
    corruptions[1].
    
    [1] https://syzkaller.appspot.com/bug?id=a2eca15e6e0be4be3ed1b0b2bab3332edc317b1c
Commits on Jul 19, 2019
  1. fuzz.yaml: rename to fuzzbuzz.yaml

    dvyukov committed Jul 19, 2019
    Newsletter says we need to change the name.
  2. Update found_bugs.md

    evdenis authored and dvyukov committed Jul 18, 2019
  3. tools/syz-env: restrict Makefile parallelism based on RAM

    dvyukov committed Jul 19, 2019
    Ensure that we have at least 1GB per Makefile job.
    Go compiler/linker can consume significant amount of memory
    (observed to consume at least 600MB). See #1276 for context.
    Update #1276
Commits on Jul 18, 2019
  1. syz-manager: fix argument order in generateCoverHTML

    dvyukov committed Jul 18, 2019
  2. pkg/cover: fix objdump process hang

    dvyukov committed Jul 18, 2019
    One instance we observed that objdump hanged due to stdout
    pipe overflow due to panic in archCallInsn.
    The reason for the original panic is still unclear,
    but fix the objdump hang. We need to terminate objdump
    and propagate the panic.
    Also extend the panic messages.
  3. tools/syz-cover: skip empty lines in coverage file

    dvyukov committed Jul 18, 2019
    If it's constructed manually, it's easy to add an empty line at the end.
Commits on Jul 17, 2019
  1. pkg/cover: fix prefix computation

    R3x authored and dvyukov committed Jul 17, 2019
    * pkg/cover: Modify parsing logic
    1. Remove prefix computation
    2. Add a mgrconfig for kernel build directory
    
    * pkg/report: shorten reports with kernelBuildSrc instead of kernelSrc
    
    * pkg/report: Fix failing tests
    
    * pkg/report: fix formating issues
    
    * tools/syz-cover: Fix unintended redefinition
    
    * make changes to fix failing ci build
    
    * pkg/report: fix issues
  2. sys/fuchsia: update zx_clock_get syscall (#1292)

    mvanotti committed Jul 17, 2019
    * sys/fuchsia: update zx_clock_get.
    
    zx_clock_get was deprecated and replaced by zx_clock_get_new. In a
    recent CL[0], they replaced the zx_clock_get by zx_clock_get_new and
    moved all client. This commit updates syzkaller to use the new function.
    
    [0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/298575
    
    * run make extract && make generate
Commits on Jul 16, 2019
  1. pkg/report: support new format of "held lock freed" linux bugs

    dvyukov committed Jul 16, 2019
Older
You can’t perform that action at this time.