summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Backport OpenSSL commit af58be768ebb690f78530f796e92b8ae5c9a4401:delphij2016-11-025-0/+35
| | | | | | | | | | | | | | Don't allow too many consecutive warning alerts Certain warning alerts are ignored if they are received. This can mean that no progress will be made if one peer continually sends those warning alerts. Implement a count so that we abort the connection if we receive too many. Issue reported by Shi Lei. This is a direct commit to stable/10 and stable/9. Security: CVE-2016-8610
* MFC r308197: MFV r308196:delphij2016-11-021-0/+1
| | | | | | Fix OpenSSH remote Denial of Service vulnerability. Security: CVE-2016-8858
* MFC 291665,291685,291856,297467,302110,302263: Add support for VIs.jhb2016-10-3113-1273/+1543
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 291665: Add support for configuring additional virtual interfaces (VIs) on a port. Each virtual interface has its own MAC address, queues, and statistics. The dedicated netmap interfaces (ncxgbeX / ncxlX) were already implemented as additional VIs on each port. This change allows additional non-netmap interfaces to be configured on each port. Additional virtual interfaces use the naming scheme vcxgbeX or vcxlX. Additional VIs are enabled by setting the hw.cxgbe.num_vis tunable to a value greater than 1 before loading the cxgbe(4) or cxl(4) driver. NB: The first VI on each port is the "main" interface (cxgbeX or cxlX). T4/T5 NICs provide a limited number of MAC addresses for each physical port. As a result, a maximum of six VIs can be configured on each port (including the "main" interface and the netmap interface when netmap is enabled). One user-visible result is that when netmap is enabled, packets received or transmitted via the netmap interface are no longer counted in the stats for the "main" interface, but are not accounted to the netmap interface. The netmap interfaces now also have a new-bus device and export various information sysctl nodes via dev.n(cxgbe|cxl).X. The cxgbetool 'clearstats' command clears the stats for all VIs on the specified port along with the port's stats. There is currently no way to clear the stats of an individual VI. 291685: Fix build for !TCP_OFFLOAD case. 291856: Fix RSS build. 297467: Remove #ifdef's from various structures used in the cxgbe/cxl driver. This provides a constant ABI and layout for these structures (especially struct adapter) avoiding some foot shooting. 302110: cxgbe(4): Merge netmap support from the ncxgbe/ncxl interfaces to the vcxgbe/vcxl interfaces and retire the 'n' interfaces. The main cxgbe/cxl interfaces and tunables related to them are not affected by any of this and will continue to operate as usual. The driver used to create an additional 'n' interface for every cxgbe/cxl interface if "device netmap" was in the kernel. The 'n' interface shared the wire with the main interface but was otherwise autonomous (with its own MAC address, etc.). It did not have normal tx/rx but had a specialized netmap-only data path. r291665 added another set of virtual interfaces (the 'v' interfaces) to the driver. These had normal tx/rx but no netmap support. This revision consolidates the features of both the interfaces into the 'v' interface which now has a normal data path, TOE support, and native netmap support. The 'v' interfaces need to be created explicitly with the hw.cxgbe.num_vis tunable. This means "device netmap" will not result in the automatic creation of any virtual interfaces. The following tunables can be used to override the default number of queues allocated for each 'v' interface. nofld* = 0 will disable TOE on the virtual interface and nnm* = 0 to will disable native netmap support. # number of normal NIC queues hw.cxgbe.ntxq_vi hw.cxgbe.nrxq_vi # number of TOE queues hw.cxgbe.nofldtxq_vi hw.cxgbe.nofldrxq_vi # number of netmap queues hw.cxgbe.nnmtxq_vi hw.cxgbe.nnmrxq_vi hw.cxgbe.nnm{t,r}xq{10,1}g tunables have been removed. --- tl;dr version --- The workflow for netmap on cxgbe starting with FreeBSD 11 is: 1) "device netmap" in the kernel config. 2) "hw.cxgbe.num_vis=2" in loader.conf. num_vis > 2 is ok too, you'll end up with multiple autonomous netmap-capable interfaces for every port. 3) "dmesg | grep vcxl | grep netmap" to verify that the interface has netmap queues. 4) Use any of the 'v' interfaces for netmap. pkt-gen -i vcxl<n>... . One major improvement is that the netmap interface has a normal data path as expected. 5) Just ignore the cxl interfaces if you want to use netmap only. No need to bring them up. The vcxl interfaces are completely independent and everything should just work. --------------------- 302263: cxgbe(4): Do not bring up an interface when IFCAP_TOE is enabled on it. The interface's queues are functional after VI_INIT_DONE (which is short of interface-up) and that's all that's needed for t4_tom to communicate with the chip. Relnotes: yes Sponsored by: Chelsio Communications
* MFC 289401: cxgbe(4): support for the kernel RSS option.jhb2016-10-311-5/+179
| | | | | | | | | | | | | You need PCBGROUP and RSS in the kernel config to use this. Note: Since RSS is not present in 10.x this is mostly a no-op and is stubbed out by removing the #include of opt_rss.h. This is merged primarily to reduce conflicts in future merges, however it does add a couple of diagnostic messages related to RSS buckets vs RX queue counts. Discussed with: np Sponsored by: Chelsio Communications
* MFC r307861:mm2016-10-3120-36/+362
| | | | | | | Update libarchive to 3.2.2 Most of the post-3.2.1 fixes have already been merged. This update contains just the version bump and some fixes to the test framework.
* Pull in r228705 from upstream libc++ trunk (by Eric Fiselier):dim2016-10-314-6/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [libcxx] Fix PR 22468 - std::function<void()> does not accept non-void-returning functions Summary: The bug can be found here: https://llvm.org/bugs/show_bug.cgi?id=22468 `__invoke_void_return_wrapper` is needed to properly handle calling a function that returns a value but where the std::function return type is void. Without this '-Wsystem-headers' will cause `function::operator()(...)` to not compile. Reviewers: eugenis, K-ballo, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D7444 This should allow newer versions of the graphics/aseprite port to compile without modification. Direct commit to stable/10, since stable/11 and head already have this change. Reported by: yuri@rawbw.com PR: 213773
* MFC r307785:bapt2016-10-311-21/+67
| | | | Import pci_vendors 2016.10.20
* MFC 282039: Don't use ifm_data. It was used only for self checking debug.jhb2016-10-311-23/+18
| | | | Sponsored by: Chelsio Communications
* MFC r308038:sbruno2016-10-311-1/+1
| | | | | | | The buffer address is always overwritten in the extended descriptor format, we have to refresh it ... always. This fixes problems reported in NetMap with em(4) devices after conversion to extended descriptor format in svn r293331.
* Document EN-16:17-18, SA-16:26-32gjb2016-10-312-0/+43
| | | | Sponsored by: The FreeBSD Foundation
* MFC r307523: Make pass driver better support CAM_CDB_POINTER flag.mav2016-10-311-0/+21
| | | | | | | Previously pass driver just ignored the flag, making random kernel code access user-space pointer, sometime causing crashes even for correctly written applications if user-level context was switched or swapped out. This patch tries to copyin the CDB into kernel space to avoid it.
* MFC r307821:kib2016-10-301-1/+1
| | | | | | Use proper type for local variable. PR: 212520
* Add posix_tnode to <search.h>.ed2016-10-291-0/+2
| | | | | | | | | In r307227 I've refactored the binary search tree functions to use the posix_tnode type. As this change does not apply cleanly to this version of FreeBSD, only make the change that matters: add the definition of the newly introduced type. This will ease source-level compatibility going forward.
* MFC r306456: Add #ifdef _KERNEL around send_holes_without_birth_time sysctl.mav2016-10-291-0/+2
|
* MFC r306425: MFV r306423:mav2016-10-291-1/+7
| | | | | | | | | | | | | | | 7402 Create tunable to ignore hole_birth feature Until we can resolve the numerous hole_birth bugs that have cropped up recently, and come up with a way going forwards to protect users from corruption, we should disable the hole_birth feature. Using a tunable allows those who are confident that their data is correct to continue to take advantage of the feature. Closes #188 Reviewed by: Matthew Ahrens <mahrens@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
* MFC r306424: MFV r306422:mav2016-10-299-13/+85
| | | | | | | | | | | | | | | | | 7254 ztest failed assertion in ztest_dataset_dirobj_verify: dirobjs + 1 == usedo bjs dsl_dataset_space is looking at the ds_bp's fill count while dmu_objset_write_ready() is concurrently modifying it. This fix adds an rrwlock to protect the ds_bp. Closes #180 Reviewed by: George Wilson <george.wilson@delphix.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Steve Gonczi <steve.gonczi@delphix.com> Author: Paul Dagnelie <pcd@delphix.com>
* MFC r307507, r307509, r307515:mav2016-10-292-4/+2
| | | | | | | | | Consider device as clean even if SYNCHRONIZE CACHE failed. If device reservation was preempted by other initiator, our sync request will always fail. Without this change CAM tried to sync cache on every following device close, including numerous GEOM tasting opens/closes, causing lots of useless noise in logs.
* MFC r307374: Add LU option to control reported provisioning type.mav2016-10-292-2/+16
|
* MFC r307350: Add LUN options to limit UNMAP and WRITE SAME sizes.mav2016-10-294-4/+32
| | | | | | | CTL itself has no limits on on UNMAP and WRITE SAME sizes. But depending on backends large requests may take too much time. To avoid that new configuration options allow to hint initiator maximal sizes it should not exceed.
* MFC r304918: Decode some new ATA commands found in ACS-3.mav2016-10-291-0/+12
|
* MFC 272079,272080: cxgbe/tom: Update for syncache_add locking changes.jhb2016-10-291-5/+3
| | | | | | | | 272079: cxgbe/tom: Catch up with r271119, syncache_add doesn't need tcbinfo lock. 272080: Update comment (missed this bit in r272079).
* MFC r307731: Add names for some DASP devices.mav2016-10-282-0/+6
|
* MFC r300881, r302058 (by asomers):mav2016-10-282-57/+91
| | | | | | | | | | | | | | | | | | | | Avoid issuing spa config updates for physical path when not necessary ZFS's configuration needs to be updated whenever the physical path for a device changes, but not when a new device is introduced. This is because new devices necessarily cause config updates, but only if they are actually accepted into the pool. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Split vdev_geom_set_physpath out of vdev_geom_attrchanged. When setting the vdev's physical path, only request a config update if the physical path has changed. Don't request it when opening a device for the first time, because the config sync will happen anyway upstack. sys/geom/geom_dev.c Split g_dev_set_physpath and g_dev_set_media out of g_dev_attrchanged
* MFC r300059 (by asomers): Speed up vdev_geom_open_by_guidsmav2016-10-281-43/+87
| | | | | | | | | | | | | | | Speedup is hard to measure because the only time vdev_geom_open_by_guids gets called on many drives at the same time is during boot. But with vdev_geom_open hacked to always call vdev_geom_open_by_guids, operations like "zpool create" speed up by 65%. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c * Read all of a vdev's labels in parallel instead of sequentially. * In vdev_geom_read_config, don't read the entire label, including the uberblock. That's a waste of RAM. Just read the vdev config nvlist. Reduces the IO and RAM involved with tasting from 1MB to 448KB.
* MFC r298814 (by asomers): Fix a use-after-free when "zpool import" failsmav2016-10-281-4/+2
| | | | | | | clear vd->vdev_tsd in vdev_geom_close_locked instead of vdev_geom_detach. In the latter function, it would fail to happen in certain circumstances where cp->private was unset. Ideally, the latter should never happen, but it can happen when vdev open fails, or where spares are involved.
* MFC r298786 (by asomers):mav2016-10-281-119/+97
| | | | | | | | | | | | Refactor vdev_geom_attach and friends to reduce code duplication sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Move checks for provider's sectorsize and mediasize into a single location in vdev_geom_attach. Remove the zfs::vdev::taste class; it's ok to use the regular vdev class for tasting. Consolidate guid checks into a single location in vdev_attach_ok. Consolidate some error handling code from vdev_geom_attach into vdev_geom_detach, closing a resource leak of geom consumers in the process.
* MFC r294329 (by asomers): Disallow zvol-backed ZFS poolsmav2016-10-284-28/+34
| | | | | | | | | | | | | | | | | Using zvols as backing devices for ZFS pools is fraught with panics and deadlocks. For example, attempting to online a missing device in the presence of a zvol can cause a panic when vdev_geom tastes the zvol. Better to completely disable vdev_geom from ever opening a zvol. The solution relies on setting a thread-local variable during vdev_geom_open, and returning EOPNOTSUPP during zvol_open if that thread-local variable is set. Remove the check for MUTEX_HELD(&zfsdev_state_lock) in zvol_open. Its intent was to prevent a recursive mutex acquisition panic. However, the new check for the thread-local variable also fixes that problem. Also, fix a panic in vdev_geom_taste_orphan. For an unknown reason, this function was set to panic. But it can occur that a device disappears during tasting, and it causes no problems to ignore this departure.
* bump __FreeBSD_version for libzfs_core.havg2016-10-281-1/+1
| | | | Direct commit.
* MFC r307141: remove a few stray spaces from sys/param.havg2016-10-281-5/+5
|
* MFC r307131: install header files required development with libzfs_coreavg2016-10-281-0/+11
|
* MFC r307130: smbus: allow child devices to be added via hintsavg2016-10-282-32/+163
| | | | | Note that r281985 has never been MFC-ed to this branch, so this commit contains a couple of bits from that commit.
* MFC r306808:kib2016-10-281-2/+7
| | | | Add verbosity around failed reboot(2) call.
* MFC r306807:kib2016-10-281-1/+9
| | | | | | When making a pause after detecting hard kill of the single-user shell, ensure that we do sleep for at least the specified time, in presence of signals.
* MFC r307651:hselasky2016-10-281-5/+30
| | | | | | Add support for adjusting the hardware buffering delay for USB audio. Requested by: Goran Mekic <meka@tilda.center>
* MFC 303002: Include process IDs in core dumps.jhb2016-10-283-2/+9
| | | | | | | | | When threads were added to the kernel, the pr_pid member of the NT_PRSTATUS note was repurposed to store LWP IDs instead of process IDs. However, the process ID was no longer recorded in core dumps. This change adds a pr_pid field to prpsinfo (NT_PRSINFO). Rather than bumping the prpsinfo version number, note parsers can use the note's payload size to determine if pr_pid is present.
* MFC r305539: work around AMD erratum 793 for family 16h, models 00h-0Fhavg2016-10-271-0/+14
|
* MFC r306801: implement zfs_vptocnp() using z_parent propertyavg2016-10-273-2/+46
|
* MFC r307578davidcs2016-10-263-95/+107
| | | | | | | | | | | 1. Use taskqueue_create() instead of taskqueue_create_fast() for both fastpath and slowpath taskqueues. 2. Service all transmits in taskqueue threads. 3. additional stats counters for keeping track of - bd availability - tx buf ring not emptied in the fp task queue. These are drained via timeout taskqueue. - tx attempts during link down.
* MFC r307132: Use copyout() instead of pointing sbuf to user-space buffer.mav2016-10-261-2/+2
|
* Merge r307936:glebius2016-10-251-1/+4
| | | | | | | | | The argument validation in r296956 was not enough to close all possible overflows in sysarch(2). Submitted by: Kun Yang <kun.yang chaitin.com> Patch by: kib Security: SA-16:15
* MFC r307783:bapt2016-10-254-66/+94
| | | | Import tzdata 2016h
* MFC r307551:jch2016-10-253-3/+42
| | | | | | | | | | | | | | | | | | Fix a double-free when an inp transitions to INP_TIMEWAIT state after having been dropped. This change enforces in_pcbdrop() logic in tcp_input(): "in_pcbdrop() is used by TCP to mark an inpcb as unused and avoid future packet delivery or event notification when a socket remains open but TCP has closed." PR: 203175 Reported by: Palle Girgensohn, Slawa Olhovchenkov Tested by: Slawa Olhovchenkov Reviewed by: Slawa Olhovchenkov Approved by: gnn, Slawa Olhovchenkov Differential Revision: https://reviews.freebsd.org/D8211 Sponsored by: Verisign, inc
* MFC r307522: makesyscalls.sh: remove trailing space on the "created from" lineemaste2016-10-241-2/+1
| | | | | | | | | | | | | | | | | | | In r10905 and r10906 makesyscalls was modified to avoid emitting a literal $Id$ string in the generated file, with: gsub("[$]Id: ", "", $0) gsub(" [$]", "", $0) Then r11294 added some functionality and also tried to address the $Id$ problem in a different way, by removing every $: sed -e 's/\$//g ... This rendered the gsub infeffective. The gsub was later updated to track the $Id$ -> $FreeBSD$ switch, even though it did not do anything. Revert the addition of the s/\$//g, and update the gsub to keep the resulting format the same.
* MFC r307520: elfdump: correct DT_AUXILIARY / DT_USED / DT_FILTER definitionsemaste2016-10-241-3/+3
| | | | | | r109332 introduced these three as DT_SUNW_*. Update to the correct names already used elsewhere in FreeBSD and the Sun "Linker and Libraries Guide"
* Spelling, title.grog2016-10-221-1/+1
|
* MFC r307215:mm2016-10-2210-31/+127
| | | | | | | Sync libarchive with vendor. Style and tests fixes. Important vendor bugfixes (relevant to FreeBSD): #801: FreeBSD Coverity report: resource leak in libarchive/tar/test/main.c
* MFC r307236:markj2016-10-211-0/+2
| | | | Plug a vnode lock leak in vm_fault_hold().
* MFC r306276, but don't remove findwin95asomers2016-10-212-26/+3
| | | | | | | Mount msdosfs with longnames support by default. The old behavior depended on the FAT version and on what files were in the root directory. "mount_msdosfs -o shortnames" is still supported.
* MFstable/11 r307721:ngie2016-10-212-2/+2
| | | | | | MFC r306029: Use SRCTOP instead of the longhand version for defining the path to contrib/atf
* MFstable/11 r307718:ngie2016-10-212-4/+4
| | | | | | | | | MFC r305920: Remove spurious newlines from atf_tc_fail calls This changes the results from broken (incorrect) to failed (correct) on i386
OpenPOWER on IntegriCloud