Skip to content
Permalink
Tree: 32329ceb4b
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
  2. sys/syz-extract: fix too long line

    dvyukov committed Jul 16, 2019
  3. sys/fuchsia: remove RESIZEABLE flags from vmo ops.

    mvanotti authored and dvyukov committed Jul 9, 2019
    This change removes the ZX_VMO_NON_RESIZABLE flag for vmo create and the
    ZX_VMO_CHILD_NON_RESIZEABLE flag from vmo create child.
    
    The flags were removed upstream in cl:
    https://fuchsia-review.googlesource.com/c/fuchsia/+/293991
  4. sys/syz-extract: Add "DefineGlibcUse" flag.

    mvanotti authored and dvyukov committed Jul 9, 2019
    Instead of defining the __GLIBC_USE macro on every OS, we are just
    defining it based on a parameter. That parameter is set to false for all
    OSs except for fuchsia.
  5. sys/fuchsia: rename vmo_clone to vmo_create_child.

    mvanotti authored and dvyukov committed Jun 13, 2019
    This commit modifies the vmo_clone definition, renaming it to
    vmo_create_child. This change happened in fuchsia a few weeks ago[0].
    
    [0]: https://fuchsia-review.googlesource.com/c/fuchsia/+/272268/
  6. sys/syz-extract: define __GLIBC_USE if not defined.

    mvanotti authored and dvyukov committed Jun 13, 2019
    When I try to run `make extract` for fuchsia, the clang compiler
    complains that __GLIBC_USE is undefined.
    
    This CL just defines it to be an always false function-like macro if it
    was not defined.
Older
You can’t perform that action at this time.