Skip to content
Tree: e17f4a5dfb
Commits on Jan 15, 2018
  1. sys/linux: generate GRE v0 packets even with incorrect payload

    dvyukov committed Jan 15, 2018
  2. executor: fix tun/device setup for sandbox=namespace

    dvyukov committed Jan 15, 2018
    For sandbox=namespace we first create network devices
    and then do CLONE_NEWNS, which brings us into a new
    namespace which actually does not have any of these devices.
    Tun mostly worked, because we hold fd to the tun device.
    However, even for tun we could not see the "syz0" device.
Commits on Jan 14, 2018
  1. sys/linux: add vnet descriptions for GRE, MPLS, CAN

    dvyukov committed Jan 14, 2018
  2. syz-manager: check new inputs from fuzzers

    dvyukov committed Jan 13, 2018
    Fuzzer must not send broken programs, but we see such cases episodically.
    Reason unknown. But at least prevent manager from crashing later.
Commits on Jan 13, 2018
  1. sys/linux: add AF_CAN descriptions

    dvyukov committed Jan 13, 2018
  2. executor: tidy up debug output

    dvyukov committed Jan 13, 2018
    1. Don't print copyin (there are too many of them).
    2. Print copyout value (it's usually important).
  3. executor: setup network devices

    dvyukov committed Jan 12, 2018
    We test in a new network namespace, which does not have any
    devices set up (even lo). Create/up as many devices as possible.
    Give them some addresses and use these addresses in descriptions.
  4. sys/syz-sysgen: don't generate syz_ syscall numbers

    dvyukov committed Jan 12, 2018
    They don't seem to be used today.
  5. sys/syz-extract: don't run mrproper if already clean

    dvyukov committed Jan 12, 2018
    mrproper takes unreasonable amount of time.
  6. sys/linux: use type templates for netlink

    dvyukov committed Jan 10, 2018
    -350 lines of descriptions
  7. pkg/compiler: support void type

    dvyukov committed Jan 12, 2018
    "void": type with static size 0
    	mostly useful inside of templates and varlen unions
    	can't be syscall argument
  8. pkg/compiler: support type templates

    dvyukov committed Jan 10, 2018
    Netlink descriptions contain tons of code duplication,
    and need much more for proper descriptions. Introduce
    type templates to simplify writing such descriptions
    and remove code duplication.
    Note: type templates are experimental, have poor error handling
    and are subject to change.
    Type templates can be declared as follows:
    type buffer[DIR] ptr[DIR, array[int8]]
    type fileoff[BASE] BASE
    type nlattr[TYPE, PAYLOAD] {
    	nla_len		len[parent, int16]
    	nla_type	const[TYPE, int16]
    	payload		PAYLOAD
    } [align_4]
    and later used as follows:
    syscall(a buffer[in], b fileoff[int64], c ptr[in, nlattr[FOO, int32]])
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
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.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

    dvyukov committed Jan 9, 2018
  7. Update

    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.
You can’t perform that action at this time.