Skip to content
Tree: ec01370d5f
Commits on Apr 16, 2019
  1. Rewrite & fix X509V3_add_value()

    botovq committed Apr 16, 2019
    X509V3_add_value() helpfully allocates a STACK_OF(CONF_VALUE) if it
    receives a pointer to a NULL pointer.  If anything fails along the way,
    it is however the caller's responsibility to free it.  This can easily
    be fixed by freeing *extlist in the error path and zeroing it to avoid
    a double free if there happens to be a caller out there that avoids
    the leak.
    Polish a few things so the function conforms a bit better to our usual
    tweak & ok jsing
  2. indent err: labels

    botovq committed Apr 16, 2019
  3. When we encounter ppb(4)s that are not configured we allocate a range

    bluerise committed Apr 16, 2019
    of bus numbers from the parent's bus extent.  On detach, which can
    happen with hotplug-able devices, we should free those busses.
    ok kettenis@
  4. When entering kernel pages uncached we need to make sure to flush the

    bluerise committed Apr 16, 2019
    caches.  If the physical page was previously used by userland it is
    likely that this page is still in the cache and writing to the newly
    mapped page could result in unexpected behaviour.
    ok kettenis@
  5. elfrdsetroot is now rdsetroot(8).

    snimmagadda committed Apr 16, 2019
    ok deraadt
  6. Prevent attaching drivers to devices for which we attached a driver e…

    kettenis committed Apr 16, 2019
    ok patrick@, dlg@, visa@
  7. Use the actual cluster size instead of fixed MCLBYTES for the

    yasuoka committed Apr 16, 2019
    condition in sb_compress().  Currently the actual cluster size might
    be 9KB even if the mtu is 1500, in this case a lot of memory space had
    been wasted, since sbcompress() doesn't compress because of previous
    ok dlg claudio
  8. Prevent attaching drivers to devices for which we attached a driver e…

    kettenis committed Apr 16, 2019
    ok patrick@, dlg@, visa@
  9. i2c reads are more reliable a byte at a time.

    dlg committed Apr 16, 2019
    reading all 256 at a time was a nice idea, but meant page 0xa2 wasnt
    appearing like it should. this follows what freebsd does more
    closely too.
  10. make sff page reads work on little endian archs too. like amd64.

    dlg committed Apr 16, 2019
    some modules seem to need more time when waiting for bytes while here.
    hrvoje popovski hit the endian issue
  11. restore some missing error handling

    dlg committed Apr 16, 2019
  12. Rewrite using libelf(3).

    snimmagadda committed Apr 16, 2019
    Lots of help with build/tests on sparc64 from jsg@, thank you.
    ok deraadt
  13. have another go at tx mitigation

    dlg committed Apr 16, 2019
    the idea is to call the hardware transmit routine less since in a
    lot of cases posting a producer ring update to the chip is (very)
    expensive. it's better to do it for several packets instead of each
    packet, hence calling this tx mitigation.
    this diff defers the call to the transmit routine to a network
    taskq, or until a backlog of packets has built up. dragonflybsd
    uses 16 as the size of it's backlog, so i'm copying them for now.
    i've tried this before, but previous versions caused deadlocks. i
    discovered that the deadlocks in the previous version was from
    ifq_barrier calling taskq_barrier against the nettq. interfaces
    generally hold NET_LOCK while calling ifq_barrier, but the tq might
    already be waiting for the lock we hold.
    this version just doesnt have ifq_barrier call taskq_barrier. it
    instead relies on the IFF_RUNNING flag and normal ifq serialiser
    barrier to guarantee the start routine wont be called when an
    interface is going down. the taskq_barrier is only used during
    interface destruction to make sure the task struct wont get used
    in the future, which is already done without the NET_LOCK being
    tx mitigation provides a nice performanace bump in some setups. up
    to 25% in some cases.
    tested by tb@ and hrvoje popovski (who's running this in production).
    ok visa@
Commits on Apr 15, 2019
  1. moving BPF to RCU

    sashan committed Apr 15, 2019
    OK visa@
  2. introduce 'pfctl -FR' to reset settings to defaults

    sashan committed Apr 15, 2019
      (discussed with many at tech@)
    OK deraadt@, kn@, sthen@, tedu@
  3. Avoid signed integer overflow.

    4a6f656c committed Apr 15, 2019
    Fixes oss-fuzz issue #13843.
    ok tb@
  4. Remove old vlan and [-]vlandev code

    kn committed Apr 15, 2019
    These were deprecated with 6.3, but instead of removing them all together,
    keep [-]vlan and [-]vlandev as aliases for [-]vnetid and [-]parent.
    Alias idea from sthen
    OK dlg sthen benno
  5. follow the basic xfp support with basic qsfp+ support

    dlg committed Apr 15, 2019
    qsfp was originally defined in SFF-8436, but the management interface
    now seems to be managed in SFF-8636, so this uses sff8636 as a
    prefix for qsfp things. the same spec applies to qsfp+ and probably
    XFP and QSFP share a bunch of offsets for where strings are located,
    so this factors out the printing of those strings from the xfp code
    and uses it from both the xfp and qsfp handling.
    i have a qsfp+ to 4x sfp+ cable that looks like this with the new
    	transceiver: QSFP+
    	model: Amphenol 601110005 rev A
    	serial: CN0HVVVFxxxxxxx date: 2013-04-18
    if i ever get a pair of optics i can work on the diags
  6. Use literals as format strings. This fixes an error reported by clang.

    visa committed Apr 15, 2019
    OK deraadt@ millert@ kettenis@
  7. Add a type cast to silence clang error about an implicit conversion

    visa committed Apr 15, 2019
    from unsigned long to int.
    OK deraadt@ millert@ kettenis@
  8. Use timeout_del_barrier(9) instead of timeout_del(9) followed by

    visa committed Apr 15, 2019
    conditional timeout_barrier(9).
    OK kn@ dlg@
  9. basic support for dumping xfp info

    dlg committed Apr 15, 2019
    xfp uses a different page layout compared to sfp. xfp uses info in
    INF-8077, not SFF-8472, and by default provides the info at page
    1, not 0.
    myx(4) supports xfp modules, but doesn't support i2c writes so it
    cannot change the page the chip is looking at. it appears that myx
    defaults to page 1 for xfp, so if the first read of page 0 fails
    with ENXIO, try to read page 1 instead.
    a 10G-PCIE-8A-R myx with the only xfp module i could find lying
    around looks like this:
    	transceiver: XFP
    	model: Intel Corp TXN181070850X1J rev B3
    	serial: USC2048M95 date: 2005-04-13
    im not sure if it's worth spending much more time on these though..
  10. implement SIOCGIFSFFPAGE so ifconfig can get transceiver info.

    dlg committed Apr 15, 2019
    myx doesn't allow i2c writes, so you can only read whatever page
    the firmware is already pointing at on device 0xa0. if you try to
    read another page it will return ENXIO.
    tested on a 10G-PCIE-8A-R with an xfp module.
  11. the myx_cmd struct has to be 4 byte aligned for use with bus_space

    dlg committed Apr 15, 2019
    i don't know how this didn't blow up before.
  12. enum thing needs commas between items.

    dlg committed Apr 15, 2019
    unbreaks the build...
  13. trim some debug code that printed out the name of a command

    dlg committed Apr 15, 2019
    the list of commands is going to grow, but the thought of keeping
    the list in debug code up to date with it just makes me feel tired.
    this prints the command id number instead in the same format we
    represent it in the header.
  14. sync

    deraadt committed Apr 15, 2019
Commits on Apr 14, 2019
  1. Add input validation to BIO_read()/BIO_write().

    4a6f656c committed Apr 14, 2019
    Some bread/bwrite functions implement this themselves, while others do not.
    This makes it consistent across all BIO implementations.
    Addresses an issue that Guido Vranken found with his fuzzer.
    ok tb@
  2. Some more malloc() to calloc() conversions.

    4a6f656c committed Apr 14, 2019
    ok tb@
You can’t perform that action at this time.