Skip to content
Permalink
Tree: 9dc808a65e
Commits on Jan 11, 2018
  1. pkg/ast: refactor Walk

    dvyukov committed Jan 10, 2018
    Refactor Walk so that it's possible to abort or wrap walk of child nodes.
    Will be needed for future changes.
  2. sys/linux: regenerate arm consts + small netlink fixed

    dvyukov committed Jan 10, 2018
    Arm was broken on upstream kernel for some time
    due to some assembler error. Now it seems to be fixed,
    so regenerate consts.
    
    Also fix small issues in new netlink descriptions.
Commits on Jan 10, 2018
  1. syz-manager: add comment explaining why we don't set corrupted for re…

    dvyukov committed Jan 10, 2018
    …pros
Commits on Jan 9, 2018
  1. sys/linux: add AF_NETLINK/NETLINK_NETFILTER descriptions

    dvyukov committed Jan 9, 2018
  2. syz-fuzzer: improve kmemleak support

    dvyukov committed Jan 9, 2018
    Don't print object size (can change from kernel to kernel
    and from config to config).
    Fix function extraction regexp (must be non-eager).
    Account for MSECS_MIN_AGE.
    Ignore some known false positives.
  3. sys/linux: duplicate open/accept specializations with openat/accept4

    dvyukov committed Jan 9, 2018
    open is not present on arm64, only openat.
    accept is not present on 386, only accept4.
    Duplicate all open/accept specializations with
    corresponding openat/accept4 specializations
    to enable testing on 386/arm64.
  4. prog: add test for cross-arch deserialization

    dvyukov committed Jan 9, 2018
    Few managers recently crashed with:
    
    panic: syscall mknod$loop: per proc arg 'proc' has bad value '4294967295'
            panic: sync: unlock of unlocked mutex
    
    goroutine 35438 [running]:
    sync.(*Mutex).Unlock(0xc42166e0c8)
            sync/mutex.go:184 +0xc1
    panic(0xb98980, 0xc448971aa0)
            runtime/panic.go:491 +0x283
    main.(*Manager).Connect(0xc42166e000, 0xc42056d060, 0xc42038f000, 0x0, 0x0)
            syz-manager/manager.go:868 +0x11cc
    
    And a similar issue was reported on mailing list.
    It's unclear where these bogus programs come from.
    It seems that hub was somehow involved here.
    4294967295 is (uint32)-1 which is trucated special
    value for proc types.
    The test did not uncover any bugs, bug since I wrote it
    and it looks like a useful test, let's commit it anyway.
  5. sys/linux: add ion and ashmem devices support

    dvyukov committed Jan 8, 2018
    Note: ion supercedes the old android interface,
    which is moved to sys/android.
  6. Update found_bugs.md

    dvyukov committed Jan 9, 2018
  7. Update found_bugs.md

    dvyukov committed Jan 9, 2018
Commits on Jan 8, 2018
  1. dashboard/app: fix reporting filter skipping

    dvyukov committed Jan 8, 2018
    We must not skip reporting if we already reported a bug to it.
    This leaves orphaned bugs.
  2. syz-fuzzer: separate programs in output by newline

    dvyukov committed Jan 8, 2018
    Greatly improves log readability at a cost of minimal size increase.
  3. pkg/report: ignore kernel/workqueue.c as guilty file

    dvyukov committed Jan 8, 2018
  4. pkg/compiler: add builtin bool type aliases

    dvyukov committed Jan 7, 2018
    This adds builtin:
    
    type bool8 int8[0:1]
    type bool16 int16[0:1]
    type bool32 int32[0:1]
    type bool64 int64[0:1]
    type boolptr intptr[0:1]
    
    We used to use just int's for bools.
    But bool types provide several advantages:
     - make true/false probability equal
     - improve description expressiveness
     - reduce search space (we will take advantage of this later)
  5. sys/linux: resolve few TODOs

    dvyukov committed Jan 7, 2018
  6. sys/linux: add type alias for socket port

    dvyukov committed Jan 7, 2018
    type sock_port proc[20000, 4, int16be]
    
    That was repeated a few times.
  7. pkg/compiler: make signalno a type alias

    dvyukov committed Jan 7, 2018
    We don't need compiler support for such things anymore,
    now we simply can do:
    
    type signalno int32[0:65]
  8. sys: support type aliases (aka typedefs)

    dvyukov committed Jan 6, 2018
    Complex types that are often repeated can be given short type aliases using the
    following syntax:
    
    ```
    type identifier underlying_type
    ```
    
    For example:
    
    ```
    type signalno int32[0:65]
    type net_port proc[20000, 4, int16be]
    ```
    
    Then, type alias can be used instead of the underlying type in any contexts.
    Underlying type needs to be described as if it's a struct field, that is,
    with the base type if it's required. However, type alias can be used as syscall
    arguments as well. Underlying types are currently restricted to integer types,
    `ptr`, `ptr64`, `const`, `flags` and `proc` types.
  9. pkg/report: add few more test cases where we fail

    dvyukov committed Jan 8, 2018
Commits on Jan 6, 2018
  1. dashboard/app: receive and log email bounces

    dvyukov committed Jan 6, 2018
  2. pkg/report: add tests where we produce bad title

    dvyukov committed Jan 6, 2018
  3. prog: add test for len mutation

    dvyukov committed Dec 31, 2017
    Test we actually can get an unnatural len value.
  4. pkg/compiler: add bitsize type

    dvyukov committed Dec 31, 2017
    This is need for few crypto/xfrm descriptions.
  5. pkg/ipc: always prepend handshake errors with executor pid

    dvyukov committed Jan 6, 2018
    Helps to understand what program caused it.
  6. pkg/csource: fix build of generated files

    dvyukov committed Jan 6, 2018
    On another machine both clang and gcc produce:
    
    test.c:163:32: error: invalid suffix "+procid" on integer constant
           *(uint32_t*)0x20001004 = 0x25dfdbfe+procid*4;
    
    Not sure why this wasn't caught on buildbot.
Older
You can’t perform that action at this time.