199834 Commits

Author SHA1 Message Date
jilles
403ac3fe2a MFC r284916: mv: Improve message when moving two or more files to
non-directory.

The message text is from cp, which has had a nicer message for this since
2007 (PR bin/50656).

As with cp, the exit status changes from 64 to 1.

PR:		201083
2015-08-22 21:35:35 +00:00
mav
170343c951 MFC r286462: Refactor early stages of security negotiation. 2015-08-22 16:59:27 +00:00
mav
fe9da6f90c MFC r285020: Disable port multiplier support on Marvell 88SE61xx chips.
According to report, some recent unrelated changes in the driver triggered
timeouts when testing for absent port multiplier.  Cause of this behavior
channge is unclear, but since these chips are old, rare and buggy, it is
easier to just disable port multiplier support, same as done in Linux.
2015-08-22 15:36:20 +00:00
mav
cb281b0cae MFC r286448: Disable 32-bit PIO for 6Gbit/s Intel SATA controllers.
For some reason 32-bit PIO writes are not working on 6Gbit/s Intel SATA
ports, while 16/32-bit PIO reads and 16-bit PIO writes are working fine.
3Gbit/s ports on the same controllers have no this problem.

Workaround this by disabling 32-bit PIO for all Intel controllers that may
have 6Gbit/s ports.  It halves PIO performance from 6MB/s to 3MB/s, but
who bother about speed of such rare and slow mode, which is also highly
discouraged by SATA specifications?
2015-08-22 07:45:49 +00:00
mav
0651b2a368 MFC r280451:
Remove from legacy ata(4) driver support for hardware, supported by newer
and more functional drivers ahci(4), siis(4) and mvs(4).

This removes about 3400 lines of code, unused since FreeBSD 9.0 release.
2015-08-22 07:32:47 +00:00
bapt
11d8dcca76 MFC: r286805
Update to use the latest version of the PCI IDs Repository.
2015-08-22 00:47:05 +00:00
loos
33f4807b1f MFC r286862:
Fix the copy of addresses passed from userland in table replace command.

  The size2 is the maximum userland buffer size (used when the addresses are
  copied back to userland).

  Obtained from:	pfSense
  Sponsored by:	Rubicon Communications (Netgate)
2015-08-20 14:03:03 +00:00
ed
473deb7c5c MFC r285742:
Unbreak "last reboot".

  According to the last(1) man page, the "reboot" pseudo-user should print
  all system reboot entries. This got broken by the utmpx import, as
  records are typed.

  Re-add support for "last reboot" by specifically matching against
  SHUTDOWN_TIME and BOOT_TIME records.

PR:           168844
Submitted by: matthew@
2015-08-20 08:34:13 +00:00
delphij
99883f69b1 Instant-MFC r286933:
Issue warning and refuse to proceed further if the configured
repository signature_type is unsupported by bootstrap pkg(7).

Previously, when signature_type specified an unsupported method,
the bootstrap pkg(7) would proceed like when signature_type is
"none".  MITM attackers may be able to use this vulnerability and
bypass validation and install their own versions of pkg(8).

At this time, only fingerprint and none are supported by the
bootstrap pkg(7).

FreeBSD's official pkg(8) repository uses the fingerprint method
and is therefore unaffected.

Errata candidate.
2015-08-19 18:32:36 +00:00
gjb
0505b0e9ea Remove a broken link.
While here, prefer https where possible.

Sponsored by:	The FreeBSD Foundation
2015-08-19 17:51:03 +00:00
mav
699edef127 MFC r286353: Pass SYNCHRONIZE CACHE command parameters to backends.
At this point IMMED flag is translated to MNT_NOWAIT flag of VOP_FSYNC(),
hoping that file system implements that (ZFS seems doesn't).
2015-08-19 17:47:47 +00:00
mav
30b552e57c MFC r286345: Relax serialization of SYNCHRONIZE CACHE commands.
Before this change SYNCHRONIZE CACHE commands were executed exclusively,
as if they had ORDERED tag.  But looking through SCSI specs I've found
no any reason to be so strict.  For reads this ordering seems pointless.
For writes it looks less obvious, so I left ordering against preceeding
write commands, while following ones are no longer required to wait.
2015-08-19 17:43:36 +00:00
gjb
cc688135d4 Document two post-release EN items as resolved.
Sponsored by:	The FreeBSD Foundation
2015-08-19 17:42:32 +00:00
mav
374a9ddfc6 MFC r286320: Issue all reads of single XCOPY segment simultaneously.
During vMotion and Clone VMware by default runs multiple sequential 4MB
XCOPY requests same time.  If CTL issues reads sequentially in 1MB chunks
for each XCOPY command, reads from different commands are not detected
as sequential by serseq option code and allowed to execute simultaneously.
Such read pattern confused ZFS prefetcher, causing suboptimal disk access.
Issuing all reads same time make serseq code work properly, serializing
reads both within each XCOPY command and between them.

My tests with ZFS pool of 14 disks in RAID10 shows prefetcher efficiency
improved from 37% to 99.7%, copying speed improved by 10-60%, average
read latency reduced twice on HDD layer and by five times on zvol layer.
2015-08-19 17:41:49 +00:00
gjb
4e7de07e7e Add 10.2-RELEASE to UPDATING, forgotten with prior related commits.
Submitted by:	junovitch
Sponsored by:	The FreeBSD Foundation
2015-08-19 00:26:54 +00:00
gjb
76e74d8323 Document SA-15:20, EN-15:11, EN-15:12, EN-15:13.
Sponsored by:	The FreeBSD Foundation
2015-08-18 20:27:03 +00:00
delphij
0d505bc40b Fix multiple integer overflows in expat.
Security:	CVE-2015-1283
Security:	FreeBSD-SA-15:20.expat
2015-08-18 19:30:05 +00:00
np
0f68d26edd MFC r271490:
cxgbe(4): add support for the SIOCGI2C ioctl.
2015-08-18 19:15:20 +00:00
np
b7bf1376b4 MFC r285648:
cxgbe(4): Ask the firmware for the start of the RSS slice for a port and
save it for later.  This enables direct manipulation of the indirection
tables (although the stock driver doesn't do that right now).
2015-08-18 19:04:55 +00:00
np
8886f3c63b MFC r285527 and r286338. This takes the firmware from 1.11.27.0 to 1.14.4.0.
r286338:
cxgbe(4):  Update T5 and T4 firmwares bundled with the driver to 1.14.4.0.  The
changes in the firmwares since 1.11.27.0 are listed here (straight copy-paste
from the "Release Notes.txt" accompanying the Chelsio Unified Wire 2.11.1.0
release on the website).

22.1. T5 Firmware
+++++++++++++++++++++++++++++++++

Version : 1.14.4.0
Date    : 08/05/2015
================================================================================

FIXES
-----

BASE:
- Fixes a potential data path hang by properly programming PMTX congestion
  threshold settings.
- Fixes a potential initialization error when accessing a configuration file
  stored on the flash.
- Fixes a regression where SGE resources can be miss-sized if iWARP is disabled.

ETH:
- Fixes a timing issue that would prevent CR4 links from coming up with some
  switches.

FOFCoE:
- Defers fcoe linkdown mailbox command handling till LOGO is sent.
- Updates vlan prio for all outstanding IOs during dcbx update.

ENHANCEMENTS
------------

BASE:
- Adds support for PAUSE OFF watchdog.
- Reports devlog access information in PCIE_FW_PF register 7.

ETH:
- Enhances segmentation offload to include VxLAN and Geneve.
- Adds PTP support.
- Adds new interface to allow the driver to query the VI rss table base
  addresses.
- Allows the driver to program the SGE ingrext contxt CongDrop field.

OFLD:
- Adds new interface for the driver to specify offloaded connections TCP snd
  and rcv scale factors.

iSCSI:
- Adds support for iscsi segmentatation offload (ISO).
- Adds support for iscsi t10-dif offload.

FOiSCSI:
- Sets FORCE_BIT for cut through processing for FOiSCSI.

FOFCoE:
- Adds support for FCoE BB6.
- Improves WRITE performance.

================================================================================
================================================================================

Version : 1.13.32.0
Date    : 03/25/2015
================================================================================

FIXES
-----

BASE:
- Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of
   negative)
- Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain
   adapter configurations)
- Fixes config file based PL_TIMEOUT register programming

ETH:
- Fixes a potential EO UDP SEG header corruption
- Fixes an issue where 1000Base-X was not enabled correctly when using QSA
   modules

OFLD:
- Fixes timeout issue with half-open connections
- Fixes FW_FLOWC_WR processing when state is set to finwait1

FOFCoE:
- Fixes fcoe xchg leaks in linkdown/peer down path
- Fixes cleanup in FCoE linkdown and fixed buf timer flowid abuse
- Fixes fw crash by clearing fcf flowc during bye

FOiSCSI:
- Don't create a new tcp socket if ERL0 attempt has timed out.

ENHANCEMENTS
------------

BASE:
- Adds support for VFs on PFs 4 to 7
- Adds support for QPs/CQs on any physical and virtual function

ETH:
- Stops sending LACP frames on loopback interface
- Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE
- Adds support for CR4 links (BEAN/AEC on 40G TwinAx cables)

OFLD:
- Improves default settings of LAN and CLUSTER TCP timer settings
- Sends Negative Advice CPLs to software

FOISCSI:
- Adds IPv6 support for foiscsi. Keeps backward compatibility with
   old foiscsi drivers which doesn't support ipv6.

FOFCoE:
- Added fcoe debug support in flowc dump

================================================================================
================================================================================

Version : 1.12.25.0
Date    : 10/22/2014
================================================================================

FIXES
-----

BASE:
- Improves precision of the Weight Round Robing Traffic Management Algorithm
- Fixes an issue where the link would intermittently fail to come up
- Fixes an issue where adapters with an external PHY couldn't run at 100Mbps
- Fixes an issue where active optical cables were not recognized
- Fixes link advertising issues on T520-BT (speed and pause frames) that would
  cause the link to negotiate unexpected settings
- Forces link restart when auto-negotiation is disabled
- Fix an issue where pause frames wouldn't be fully disabled even if requested

ETH:
- Fixes NVGRE Segmentation Offload network header generation.

DCBX:
- Fixes an issue where some settings were not being sent to the switch
  correctly
- Fixes an issue where back-to-back DCBX port updates could get overwritten by
  FW
- Fixes a firmware crash on DCBX APP information request before link up

FOiSCSI:
- Fixes abort task leak in tmf response handling
- Fixes TCP RST handling while in iSCSI ERL0
- Fixes a firmware crash on BYE without INIT

ENHANCEMENTS
-------------

BASE:
- Adds link partner settings reporting when available
- Adds QSA support (in conjunction with QSA VPD)
- Adds T520-BT LED support
- Reports NOTSUPPORTED for modules with an unhandled identifier

DCBX:
- Adds version reporting (indicating which version FW is trying to negotiate)
- Adds IEEE support
- Reports LLDP time outs

FOiSCSI:
- Add support for multiple iSCSI DDP client
- Sends DHCP renew request when lease expires

================================================================================

22.2. T4 Firmware
+++++++++++++++++

Version : 1.14.4.0
Date    : 08/05/2015
================================================================================

FIXES
-----

BASE:
- Fixes a potential initialization error when accessing a configuration file
  stored on the flash.
- Initialize PCIE_DBG_INDIR_REQ.Enable to 0, as hardware failed to do so and
  register dumps could result in errors.

ETH:
- Fixes an issue that sometimes prevented the link from coming up in CR adapters.

ENHANCEMENTS
------------

BASE:
- Adds support for PAUSE OFF watchdog.
- Reports devlog access information in PCIE_FW_PF register 7.

ETH:
- Adds new interface to allow the driver to query the VI rss table base
  addresses.

OFLD:
- Adds new interface for the driver to specify offloaded connections TCP snd
  and rcv scale factors.

================================================================================
================================================================================

Version : 1.13.32.0
Date    : 03/25/2015
================================================================================

FIXES
-----

BASE:
- Fixes FW_CAPS_CONFIG_CMD return value on error (was positive instead of
    negative)
- Fixes FW_PARAMS_PARAM_DEV_FLOWC_BUFFIFO_SZ indication (was wrong on certain
    adapter configurations)
- Fixes config file based PL_TIMEOUT register programming

ETH:
- Fixes a potential EO UDP SEG header corruption

OFLD:
- Fixes timeout issue with half-open connections
- Fixes FW_FLOWC_WR processing when state is set to finwait1

FOiSCSI:
- Don't create a new tcp socket if ERL0 attempt has timed out.

ENHANCEMENTS
------------

ETH:
- Stops sending LACP frames on loopback interface
- Adds an AUTOEQU indication to CPL_SGE_EGR_UPDATE

OFLD:
- Improves default settings of LAN and CLUSTER TCP timer settings
- Sends Negative Advice CPLs to software

================================================================================
================================================================================

Version : 1.12.25.0
Date    : 10/22/2014
================================================================================

FIXES
-----

BASE:
- Improves precision of the Weight Round Robing Traffic Management Algorithm
- Forces link restart when auto-negotiation is disabled
- Fix an issue where pause frames wouldn't be fully disabled even if requested

DCBX:
- Fixes an issue where some settings were not being sent to the switch
  correctly
- Fixes an issue where back-to-back DCBX port updates could get overwritten by
  FW
- Fixes a firmware crash on DCBX APP information request before link up

FOiSCSI:
- Fixes abort task leak in tmf response handling
- Fixes TCP RST handling while in iSCSI ERL0
- Fixes a firmware crash on BYE without INIT

ENHANCEMENTS
------------

BASE:
- Adds link partner settings reporting when available
- Firmware now reports NOTSUPPORTED for modules with an unhandled identifier

DCBX:
- Adds version reporting (indicating which version FW is trying to negotiate)
- Adds IEEE support
- Reports LLDP time outs

FOiSCSI:
- Adds support for multiple iSCSI DDP clients
- Sends DHCP renew request when lease expires

================================================================================

Obtained from:	Chelsio Communications
Sponsored by:	Chelsio Communications
2015-08-18 18:54:45 +00:00
kib
c731ecde39 MFC r286288:
Give large kernel stack to the initial thread.
2015-08-18 09:09:39 +00:00
loos
47eb9e91e4 MFC r286260:
Remove the mtx_sleep() from the kqueue f_event filter.

  The filter is called from the network hot path and must not sleep.

  The filter runs with the descriptor lock held and does not manipulate the
  buffers, so it is not necessary sleep when the hold buffer is in use.

  Just ignore the hold buffer contents when it is being copied to user space
  (when hold buffer in use is set).

  This fix the "Sleeping thread owns a non-sleepable lock" panic when the
  userland thread is too busy reading the packets from bpf(4).

  PR:           200323
  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 19:06:14 +00:00
loos
21e0cf5c4b MFC r286140:
Remove the sleep from the buffer allocation routine.

  The buffer must be allocated (or even changed) before the interface is set
  and thus, there is no need to verify if the buffer is in use.

MFC r286142:
  Remove two unnecessary sleeps from the hot path in bpf(4).

  The first one never triggers because bpf_canfreebuf() can only be true for
  zero-copy buffers and zero-copy buffers are not read with read(2).

  The second also never triggers, because we check the free buffer before
  calling ROTATE_BUFFERS().  If the hold buffer is in use the free buffer
  will be NULL and there is nothing else to do besides drop the packet.  If
  the free buffer isn't NULL the hold buffer _is_ free and it is safe to
  rotate the buffers.

  Update the comment in ROTATE_BUFFERS macro to match the logic described
  here.

  While here fix a few typos in comments.

MFC r286243:
  Add a KASSERT() to make sure we wont rotate the buffers twice (rotate the
  buffers while the hold buffer is in use).

  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 18:43:39 +00:00
kib
e0546eb073 MFC r286777:
Comment only change, fix grammar and somewhat clarify the action.
2015-08-17 18:36:16 +00:00
kib
48dcd99f42 MFC r286582:
Pre-resolve symbols required for the deferred signal processing.
2015-08-17 18:34:54 +00:00
kib
70c41a2cb1 MFC r286228:
Clear the IA32_MISC_ENABLE MSR bit on APs.
2015-08-17 18:33:16 +00:00
loos
f69a7374f0 MFC r286139:
Do not allocate the buffers at opening of the descriptor, because once
  the buffer is allocated we are committed to a particular buffer method
  (BPF_BUFMODE_BUFFER in this case).

  If we are using zero-copy buffers, the userland program must register its
  buffers before set the interface.

  If we are using kernel memory buffers, we can allocate the buffer at the
  time that the interface is being set.

  This fix allows the usage of BIOCSETBUFMODE after r235746.

  Update the comments to reflect the recent changes.

  Sponsored by: Rubicon Communications (Netgate)
2015-08-17 18:21:18 +00:00
ed
77458f0d7c MFC r285715:
Add an API for easily creating userspace threads in kernelspace.

  This change refactors the existing create_thread() function to be more
  generic. It replaces almost all of its arguments by a callback that can
  be used to extract the thread ID and copy it out to the right place, but
  also to perform additional initialization steps, such as setting the
  trapframe. This also makes the difference between thr_new() and
  thr_create() more clear in my opinion.

  This function is going to be used by the CloudABI compatibility layer.

  It looks like the OpenSolaris compatibility framework already provides a
  function called thread_create(). Rename this function to
  do_thread_create() and use a macro to deal with the namespacing
  conflict. A similar approach is already used for thread_exit().
2015-08-17 12:51:46 +00:00
glebius
88549d1bce Merge r283612:
Add SIOCGI2C ioctl support to the driver. Would work only on ConnectX-3
  with fresh firmware. The low level code is based on code provided by
  Mellanox.

  Thanks to Mellanox and their distributor Must (http://mustcompany.ru)
  for providing hardware.

  In collaboration with:        Andre Melkoumian <andre mellanox.com>
  Reviewed by:          hselasky
  Sponsored by:         Netflix
  Sponsored by:         Nginx, Inc.
2015-08-17 10:03:23 +00:00
gjb
389d1321af Document an error in the release notes regarding revision r282199.
Submitted by:	amdmi3
Sponsored by:	The FreeBSD Foundation
2015-08-16 12:09:55 +00:00
mav
5d8801fc2e MFC r286719: Revert part of r280687, reporting "1" (true) for empty value.
For example, it made gpart partitions without label report "1" as label.
2015-08-16 00:37:47 +00:00
mav
a5ac236c6e MFC r286516: Document kern.cam.ctl.debug sysctl. 2015-08-16 00:36:48 +00:00
mav
d3f395bdba MFC r286514: Remove verbose CTL messages.
Reporting SCSI errors to console is often useless, pollutes logs and may
affect performance.  For debugging there is kern.cam.ctl.debug sysctl
2015-08-16 00:35:48 +00:00
jilles
aa479658a0 MFC r284779: sh: Fix some arithmetic undefined behaviour.
Fix shifts of possibly negative numbers found with ubsan and avoid signed
integer overflow when hashing an extremely long command name.
2015-08-15 19:58:00 +00:00
melifaro
a91e3ef58a MFC r270064,r270068,r270069,r270115,r270129,r270287,r270822,r271014,
r271524,r273541,r282967,r283009,r283364.

Add support for reading i2c SFP/SFP+ data from NIC driver and
presenting most interesting fields via ifconfig -v.
This version supports Intel ixgbe driver only.

Tested on:      Cisco,Intel,Mellanox,ModuleTech,Molex transceivers

* Add new net/sff8436.h containing constants used to access
  QSFP+ data via i2c inteface. These constants has been taken
  from SFF-8436 "QSFP+ 10 Gbs 4X PLUGGABLE TRANSCEIVER" standard
  rev 4.8.
* Add support for printing QSFP+ information from 40G NICs
  such as Chelsio T5.

Example:
cxl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,.....>
        ether 00:07:43:28:ad:08
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet 40Gbase-LR4 <full-duplex>
        status: active
        plugged: QSFP+ 40GBASE-LR4 (MPO Parallel Optic)
        vendor: OEM PN: OP-QSFP-40G-LR4 SN: 20140318001 DATE: 2014-03-18
        module temperature: 64.06 C voltage: 3.26 Volts
        lane 1: RX: 0.47 mW (-3.21 dBm) TX: 2.78 mW (4.46 dBm)
        lane 2: RX: 0.20 mW (-6.94 dBm) TX: 2.80 mW (4.47 dBm)
        lane 3: RX: 0.18 mW (-7.38 dBm) TX: 2.79 mW (4.47 dBm)
        lane 4: RX: 0.90 mW (-0.45 dBm) TX: 2.80 mW (4.48 dBm)

Tested on:      Chelsio T5
Tested on:      Mellanox/Huawei passive/active cables/transceivers.

Sponsored by:   Yandex LLC
2015-08-15 17:52:55 +00:00
mav
69ac9bf2f9 MFC r286456: Remove some code duplication. 2015-08-15 11:08:30 +00:00
mav
6807bfb720 MFC r286447:
Don't panic if disk lost TRIM support due to switching to PIO mode.
2015-08-15 11:05:44 +00:00
emaste
5264296ce4 MFC r285842: truss: follow pdfork()ed descendents with -f 2015-08-14 21:44:42 +00:00
kib
8c79292e68 MFC r286404:
The condition to use direct processing for the unmapped bio is reverted.

MFC r286405:
Minor style cleanup of the code surrounding r286404.
2015-08-14 12:23:20 +00:00
gjb
8445fe493e Call stable/10 STABLE again, now that 10.2-RELEASE is out.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-14 12:08:20 +00:00
mav
700151794a MFC r286621, r286622: Fix couple minor typos. 2015-08-14 04:23:17 +00:00
pfg
2df02110dd MFC r286615:
Clean up some externally visible "more then" occurences
2015-08-14 02:45:22 +00:00
gjb
3152c1918c Prune the 10-STABLE release notes page after 10.2-RELEASE.
Sponsored by:	The FreeBSD Foundation
2015-08-14 00:19:09 +00:00
edwin
33f83ca610 MFC of 286750,tzdata10:
Update to tzdata2015f:

Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)
    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen and Pablo Camargo.)
    Changes affecting past and future time stamps
    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC. (Thanks to Roman Tudos.)
2015-08-13 23:59:53 +00:00
gjb
3a6b75cfa3 MFC r262670 (marcel):
Use ${MAKE} so that we always use the same version/implementation
  of make(1).

PR:		202277
Submitted by:	John Hein
Sponsored by:	The FreeBSD Foundation
2015-08-13 22:29:26 +00:00
emaste
8021b61826 MFC r276282: Support ALT_BREAK_TO_DEBUGGER in vt(4)
PR:		196511
2015-08-13 19:48:19 +00:00
gjb
ed48261da8 Fix the gnome package name.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 19:04:41 +00:00
gjb
1717104aa9 Document a known issue with the VirtualBox Vagrant provider failing
to boot on the first invocation of 'vagrant up'.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:50:54 +00:00
gjb
a99cffa12b Update the errata article.xml file for 10.2-RELEASE.
Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:41:53 +00:00
gjb
dc8140f43b Prune Security Advisories and Errata Notices from the 10.2-RELEASE
errata page.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2015-08-13 18:40:32 +00:00