]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/log
FreeBSD/stable/10.git
7 years agoMFC r304012:
kib [Fri, 19 Aug 2016 08:07:04 +0000 (08:07 +0000)]
MFC r304012:
Fill phdr and phsize for rtld object.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304455 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r304011:
kib [Fri, 19 Aug 2016 08:05:08 +0000 (08:05 +0000)]
MFC r304011:
Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304454 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303009: Negotiate/disable TXCSUM_IPV6 same as TXCSUM.
mav [Thu, 18 Aug 2016 12:09:20 +0000 (12:09 +0000)]
MFC r303009: Negotiate/disable TXCSUM_IPV6 same as TXCSUM.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304427 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302504, r302666, r302668, r302932, r302933:
mav [Thu, 18 Aug 2016 11:56:07 +0000 (11:56 +0000)]
MFC r302504, r302666, r302668, r302932, r302933:
Add emulation for Intel e1000 (e82545) network adapter.

The code was successfully tested with FreeBSD, Linux, Solaris and Windows
guests.  This interface is predictably slower (about 2x) then virtio-net,
but it is very helpful for guests not supporting virtio-net by default.

Thanks to Jeremiah Lott and Peter Grehan for doing original heavy lifting.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304425 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302460: Add emulation for multiple (up to 16) MSI vectors for AHCI.
mav [Thu, 18 Aug 2016 11:45:46 +0000 (11:45 +0000)]
MFC r302460: Add emulation for multiple (up to 16) MSI vectors for AHCI.

It was useless before, but may improve performance now if multiple devices
are configured and guest supports this feature.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304421 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302459: Allow AHCI controller to support up to 32 arbitrary devices.
mav [Thu, 18 Aug 2016 11:45:02 +0000 (11:45 +0000)]
MFC r302459: Allow AHCI controller to support up to 32 arbitrary devices.

While old syntax is still supported, new syntax looks like this:

-s 3,ahci,hd:/dev/zvol/XXX,hd:/dev/zvol/YYY,cd:/storage/ZZZ.iso

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304420 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r300296: Pass proper for 23xx arguments to isp_endcmd().
mav [Thu, 18 Aug 2016 11:39:30 +0000 (11:39 +0000)]
MFC r300296: Pass proper for 23xx arguments to isp_endcmd().

git-svn-id: svn://svn.freebsd.org/base/stable/10@304418 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r300293:
mav [Thu, 18 Aug 2016 11:38:47 +0000 (11:38 +0000)]
MFC r300293:
Pass task management response information from CTL through CAM to isp(4),
utilizing previously unused arg field of struct ccb_notify_acknowledge.

This makes new QUERY TASK, QUERY TASK SET and QUERY ASYNC EVENT requests
really functional for CAM target mode drivers.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304417 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r300222: Fix delaying requests to unknown virtual ports 2s after init.
mav [Thu, 18 Aug 2016 11:37:38 +0000 (11:37 +0000)]
MFC r300222: Fix delaying requests to unknown virtual ports 2s after init.

This code was originally implemented 7 years ago, but never really worked
due to trivial error.  I think this functionality may be not required.
Initiators supporting optional periodic command status checks detected
those terminated commands and retried them 3 seconds later.  But thinking
about less featured initiators and the fact that it is our race makes
virtual ports "unknown" it may be good to have this feature.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304416 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302947: In AHCI_IRQ_MODE_AFTER mode do not clear interrupts below.
mav [Thu, 18 Aug 2016 11:17:36 +0000 (11:17 +0000)]
MFC r302947: In AHCI_IRQ_MODE_AFTER mode do not clear interrupts below.

This is probably a NOP change since IS register is not activery used for
interrupts below the shared, but it looked odd to clear interrupts we did
not handle.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304414 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302946:
mav [Thu, 18 Aug 2016 11:17:01 +0000 (11:17 +0000)]
MFC r302946:
Do not consider the last interrupt shared if there are enough interrupts
for all channels.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304413 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303561: Wrap previous MSIX workaround into #ifndef EARLY_AP_STARTUP.
mav [Thu, 18 Aug 2016 11:09:43 +0000 (11:09 +0000)]
MFC r303561: Wrap previous MSIX workaround into #ifndef EARLY_AP_STARTUP.

With EARLY_AP_STARTUP we can successfully negotiate MSIX earlier.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304410 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303554: Block MSIX negotiation until SMP started and IRQ reshuffled.
mav [Thu, 18 Aug 2016 11:03:21 +0000 (11:03 +0000)]
MFC r303554: Block MSIX negotiation until SMP started and IRQ reshuffled.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304409 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303553: Make MAC address generation more random.
mav [Thu, 18 Aug 2016 11:02:42 +0000 (11:02 +0000)]
MFC r303553: Make MAC address generation more random.

'ticks' approach does not work at boot time.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304408 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303514: Fix NTBT_QP_LINKS negotiation.
mav [Thu, 18 Aug 2016 11:02:01 +0000 (11:02 +0000)]
MFC r303514: Fix NTBT_QP_LINKS negotiation.

I believe it never worked correctly for more the one queue even in Linux.
This fixes case when one of consumer drivers is not loaded on one side,
but its queues still announced as ready if something else brought link up.

While there, remove some pointless NULL checks.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304407 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303510: Clear scratchpad after MSIX negotiation to not leak garbage.
mav [Thu, 18 Aug 2016 11:01:26 +0000 (11:01 +0000)]
MFC r303510: Clear scratchpad after MSIX negotiation to not leak garbage.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304406 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303494: Once more refactor KPI between ntb_transport(4) and if_ntb(4).
mav [Thu, 18 Aug 2016 11:00:48 +0000 (11:00 +0000)]
MFC r303494: Once more refactor KPI between ntb_transport(4) and if_ntb(4).

New design allows to attach multiple consumers to ntb_transport(4) instance.
Previous design obtained from Linux theoretically allowed that, but was not
practically usable (Linux also has only one consumer driver now).

git-svn-id: svn://svn.freebsd.org/base/stable/10@304405 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303429, r303437, r303551:
mav [Thu, 18 Aug 2016 10:59:12 +0000 (10:59 +0000)]
MFC r303429, r303437, r303551:
Once more refactor KPI between NTB hardware and consumers.

New design allows hardware resources to be split between several consumers.
For example, one BAR can be dedicated for remote memory access, while other
resources can be used for packet transport for virtual Ethernet interface.
And even without resource split, this code allows to specify which consumer
driver should attach the hardware.

From some points this makes the code even closer to Linux one, even though
Linux does not provide the described flexibility.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304404 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302520: Replace NTB man page with more detailed and up to date.
mav [Thu, 18 Aug 2016 10:57:18 +0000 (10:57 +0000)]
MFC r302520: Replace NTB man page with more detailed and up to date.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304403 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303266: Postpone ntb_get_msix_info() till we need to negotiate MSIX.
mav [Thu, 18 Aug 2016 10:54:21 +0000 (10:54 +0000)]
MFC r303266: Postpone ntb_get_msix_info() till we need to negotiate MSIX.

Calling it earlier increases the window when MSIX info may change.
This change does not solve the problem completely, but seems logical.
Complete solution should probably include link reset in case of MSIX
remap to trigger new negotiation, but we have no way to get notified
about that now.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304401 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302622 (by sephe): ntb: Fix LINT
mav [Thu, 18 Aug 2016 10:53:44 +0000 (10:53 +0000)]
MFC r302622 (by sephe): ntb: Fix LINT

git-svn-id: svn://svn.freebsd.org/base/stable/10@304400 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302531: Revert odd change, setting limit registers before base.
mav [Thu, 18 Aug 2016 10:53:03 +0000 (10:53 +0000)]
MFC r302531: Revert odd change, setting limit registers before base.

I don't know what errata is mentioned there, I was unable to find it, but
setting limit before the base simply does not work at all.  According to
specification attempt to set limit out of the present window range resets
it to zero, effectively disabling it.  And that is what I see in practice.

Fixing this properly disables access for remote side to our memory until
respective xlat is negotiated and set.  As I see, Linux does the same.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304399 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302530: Fix wrong copy/paste in r302510.
mav [Thu, 18 Aug 2016 10:52:29 +0000 (10:52 +0000)]
MFC r302530: Fix wrong copy/paste in r302510.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304398 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302529: Remove callout_reset(link_work) from ntb_transport_attach().
mav [Thu, 18 Aug 2016 10:51:53 +0000 (10:51 +0000)]
MFC r302529: Remove callout_reset(link_work) from ntb_transport_attach().

At that point link is quite likely not established yet, so messing with
scratch registers is premature there.  Original commit message mentioned
code diff reduction from Linux, but this line is not present in Linux now.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304397 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302510:
mav [Thu, 18 Aug 2016 10:51:18 +0000 (10:51 +0000)]
MFC r302510:
Simplify MSIX MW BAR xlat setup, and don't forget to unlock its limit.

The last fixes SB01BASE_LOCKUP workaround after driver reload.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304396 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302508: Disable SB01BASE_LOCKUP workaround when split BARs disabled.
mav [Thu, 18 Aug 2016 10:50:27 +0000 (10:50 +0000)]
MFC r302508: Disable SB01BASE_LOCKUP workaround when split BARs disabled.

For some reason hack with sending MSI-X interrupts by writing to remote
LAPIC memory works only for 32-bit BARs, that are available only if split
BARs mode is enabled in BIOS.  If it is not, complain loudly and fall back
to less efficient workaround.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304394 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoDirect commit to stable/10 to fix build without newer interface KPIs.
mav [Thu, 18 Aug 2016 10:47:22 +0000 (10:47 +0000)]
Direct commit to stable/10 to fix build without newer interface KPIs.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304393 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302499: Improve checksum "offload" support.
mav [Thu, 18 Aug 2016 10:46:29 +0000 (10:46 +0000)]
MFC r302499: Improve checksum "offload" support.

For compatibility reasons make driver not report any checksum offload by
default, since there is indeed none.  But if administrator knows that
interface is used only for local traffic, he can enable fake checksum
offload manually on both sides to save some CPU cycles, since the data
are already protected by CRC32 of PCIe link.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304392 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302496: Rewrite if_ntb to use modern interface KPIs and features.
mav [Thu, 18 Aug 2016 10:45:53 +0000 (10:45 +0000)]
MFC r302496: Rewrite if_ntb to use modern interface KPIs and features.

It includes: link state, if_transmit, buf_ring, multiple queues, bpf, etc.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304391 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302495: Improve memory allocation errors handling on receive.
mav [Thu, 18 Aug 2016 10:45:15 +0000 (10:45 +0000)]
MFC r302495: Improve memory allocation errors handling on receive.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304390 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302494: Synchronize MTU code with Linux.
mav [Thu, 18 Aug 2016 10:44:35 +0000 (10:44 +0000)]
MFC r302494: Synchronize MTU code with Linux.

It is mandatory for transport compatibility.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304389 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302493: Reimplement doorbell register emulation for NTB_SB01BASE_LOCKUP.
mav [Thu, 18 Aug 2016 10:43:59 +0000 (10:43 +0000)]
MFC r302493: Reimplement doorbell register emulation for NTB_SB01BASE_LOCKUP.

This allows at least first three doorbells to work very close to normal
hardware, properly signaling events to upper layers without spurious or
lost events.  Doorbells above the first three may still report spurious
events due to lack of reliable information, but they are rarely used.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304388 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302492: Bring some more order into link and qp state handling.
mav [Thu, 18 Aug 2016 10:43:23 +0000 (10:43 +0000)]
MFC r302492: Bring some more order into link and qp state handling.

Do not touch scratchpad registers until link is reported up.
Mask and do not handle doorbell events until respective qp is up.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304387 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302491: Switch ctx_lock from mutex to rmlock.
mav [Thu, 18 Aug 2016 10:42:48 +0000 (10:42 +0000)]
MFC r302491: Switch ctx_lock from mutex to rmlock.

It is odd idea to serialize different MSI-X vectors.  Use of rmlocks
here allows them to execute in parallel, but still protects ctx.
If upper layers require any additional serialization -- they can
do it by themselves.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304386 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302490: Create separate RX taskqueue for each qp.
mav [Thu, 18 Aug 2016 10:42:12 +0000 (10:42 +0000)]
MFC r302490: Create separate RX taskqueue for each qp.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304385 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302489: Remove rx_completion_task taskqueue.
mav [Thu, 18 Aug 2016 10:41:34 +0000 (10:41 +0000)]
MFC r302489: Remove rx_completion_task taskqueue.

It is not needed after RX lock removed in previous commit.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304384 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302488: Remove unneeded RX lock, and make TX lock per-qp.
mav [Thu, 18 Aug 2016 10:40:59 +0000 (10:40 +0000)]
MFC r302488: Remove unneeded RX lock, and make TX lock per-qp.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304383 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302487: Reduce code divergence from Linux, preparing for DMA support.
mav [Thu, 18 Aug 2016 10:40:18 +0000 (10:40 +0000)]
MFC r302487: Reduce code divergence from Linux, preparing for DMA support.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304382 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302486: Fix operation with multiple qps.
mav [Thu, 18 Aug 2016 10:39:42 +0000 (10:39 +0000)]
MFC r302486: Fix operation with multiple qps.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304381 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302484: NewBus'ify NTB subsystem.
mav [Thu, 18 Aug 2016 10:39:00 +0000 (10:39 +0000)]
MFC r302484: NewBus'ify NTB subsystem.

This follows NTB subsystem modularization in Linux, tuning it to FreeBSD
native NewBus interfaces.  This change allows to support different types
of hardware with different drivers, support multiple NTB instances in a
system, ntb_transport module use for needs other then if_ntb, etc.

Sponsored by:   iXsystems, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304380 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302483: Remove some dead code found by Clang static analyzer.
mav [Thu, 18 Aug 2016 10:25:07 +0000 (10:25 +0000)]
MFC r302483: Remove some dead code found by Clang static analyzer.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304377 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302482: Fix NTB_SDOORBELL_LOCKUP workaround.
mav [Thu, 18 Aug 2016 10:24:31 +0000 (10:24 +0000)]
MFC r302482: Fix NTB_SDOORBELL_LOCKUP workaround.

Since SBARxSZ register can be write-once, it can be unusable for disabling
the SBAR.  For such case also set SBARxBASE to zero to not intersect with
config BAR.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304376 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302014: Fix if_ntb interface setup to include IFF_MULTICAST.
mav [Thu, 18 Aug 2016 10:23:51 +0000 (10:23 +0000)]
MFC r302014: Fix if_ntb interface setup to include IFF_MULTICAST.

This allows IPv6 link local addresses (and other IPv6 functionality) to work.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304375 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r304149
sbruno [Thu, 18 Aug 2016 07:32:02 +0000 (07:32 +0000)]
MFC r304149

e1000:  Add support for Kaby Lake IDs

Fixup some errors when transitioning to/from low power states.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304338 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r289932, r289940:
kp [Wed, 17 Aug 2016 15:14:21 +0000 (15:14 +0000)]
MFC r289932, r289940:

PF_ANEQ() macro will in most situations returns TRUE comparing two identical
IPv4 packets (when it should return FALSE). It happens because PF_ANEQ() doesn't
stop if first 32 bits of IPv4 packets are equal and starts to check next 3*32
bits (like for IPv6 packet). Those bits containt some garbage and in result
PF_ANEQ() wrongly returns TRUE.

Fix: Check if packet is of AF_INET type and if it is then compare only first 32
bits of data.

PR:             204005
Submitted by:   Miłosz Kaniewski

git-svn-id: svn://svn.freebsd.org/base/stable/10@304293 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302497:
kp [Wed, 17 Aug 2016 09:24:46 +0000 (09:24 +0000)]
MFC r302497:

pf: Map hook returns onto the correct error values

pf returns PF_PASS, PF_DROP, ... in the netpfil hooks, but the hook callers
expect to get E<foo> error codes.
Map the returns values. A pass is 0 (everything is OK), anything else means
pf ate the packet, so return EACCES, which tells the stack not to emit an ICMP
error message.

PR:     207598

git-svn-id: svn://svn.freebsd.org/base/stable/10@304283 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303663:
kp [Wed, 17 Aug 2016 09:21:55 +0000 (09:21 +0000)]
MFC r303663:

pfctl: Allow TOS bits to be cleared

TOS value 0 is valid, so use 256 as an invalid value rather than zero.
This allows users to enforce TOS == 0 with pf.

Reported by:    Radek Krejča <radek.krejca@starnet.cz>

git-svn-id: svn://svn.freebsd.org/base/stable/10@304281 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303916:
kib [Wed, 17 Aug 2016 07:17:16 +0000 (07:17 +0000)]
MFC r303916:
Convert another tmpfs assert into runtime check.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304266 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303914:
kib [Wed, 17 Aug 2016 07:13:25 +0000 (07:13 +0000)]
MFC r303914:
Re-schedule signals after kthread exits.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304264 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303913:
kib [Wed, 17 Aug 2016 07:09:22 +0000 (07:09 +0000)]
MFC r303913:
Unconditionally perform checks that FPU region was entered, when #NM
exception is caught in kernel mode.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304262 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFstable/11 r304208:
ngie [Tue, 16 Aug 2016 08:30:28 +0000 (08:30 +0000)]
MFstable/11 r304208:

MFC r303830:

Remove vestigal references to __alpha__

Replace alpha reference in getconf(1) with amd64 [*]

PR:   211300 [*]

git-svn-id: svn://svn.freebsd.org/base/stable/10@304210 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302943,r302944,r303004,r303010,r303011,r303013,r303014,r303074,
ache [Tue, 16 Aug 2016 07:14:09 +0000 (07:14 +0000)]
MFC r302943,r302944,r303004,r303010,r303011,r303013,r303014,r303074,
    r303088,r303142,r303208,r303210,r303530,r303536,r303564,r303565,
    r303706

In short:

1) All situations with glob(3) error return codes are well defined by
POSIX, so rewrite old sporadic errors processing to match those
definitions.

Including subcases:

Both C99 and POSIX directly prohibits any standard function to set errno
to 0. Breaking this rule in 2001 NetBSD hack was imported which attempts
to workaround very limited glob(3) return codes amount.
Use POSIX-compatible workaround now with E2BIG which can't comes from
other functions used instead of prohibited 0.

Process errors happpens in (*readdirfunc)() too, as POSIX requires.

Per POSIX GLOB_NOCHECK should return original pattern,
unmodified, if no matches found. But our code strips all '\'
returning it. Rewrite the code to allow to return original pattern.

GLOB_ERR and gl_errfunc are supposed to work only for real directories
per POSIX, so don't act on missing or plain files for ENOENT or ENOTDIR
(as TODO in the code suggested).
Remove the hack in the manpage describing how to skip ENOENT and ENOTDIR
in gl_errfunc, it is unneeded now.

Per POSIX GLOB_ERR must be considered even if gl_errfunc is not set,
old code skips it in that case.

2) For near MAXPATHLEN long pathes old glob(3) code can operate on
truncated results, prevent it in several places.

3) Results was not sorted according to collate as POSIX requires.

4) globtilde() forget to convert expanded user home dir from multibyte to
wide chars. Moreover, those chars are addded as not protected, so
can be treated as special chars.

5) Backward hack for EILSEQ in g_Ctoc() was not implemented, so all
pathes with illegal byte sequences are skipped as result, implement it now.

6) GLOB_BRACE was somehow broken. First it repeatedly calls glob0() in
globexp1() recursive calls, but glob0() was not supposed to be called
repeatedly in the original code. It finalize results by possible adding
original pattern for no match case, may return GLOB_NOMATCH error and
by sorting all things. Original pattern adding or GLOB_NOMATCH error
can happens each time glob0() called repeatedly, and sorting happens
for one item only, all things are never sorted. Second, f.e. "a{a"
pattern does not match "a{a" file but match "a" file instead.
Third, some errors (f.e. for limits or overflow) can be ignored
by GLOB_BRACE code because it forces return (0).

Add non-finalizing flag to glob0() and make globexp0() wrapper around
recursively called globexp1() to finalize things like glob0() does.
Reorganize braces code to work correctly.

7) Don't allow MB_CUR_MAX * strlen overallocation hits GLOB_LIMIT_STRING
(ARG_MAX) limit, use final string length, not malloced space for it.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304203 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303423:
kib [Mon, 15 Aug 2016 21:44:06 +0000 (21:44 +0000)]
MFC r303423:
Force SIGSTOP to be the first signal reported after the attach.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304190 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 302900,302902,302921,303461,304009:
jhb [Mon, 15 Aug 2016 21:10:41 +0000 (21:10 +0000)]
MFC 302900,302902,302921,303461,304009:
Add a mask of optional ptrace() events.

302900:
Add a test for user signal delivery.

This test verifies we get the correct ptrace event details when a signal
is posted to a traced process from userland.

302902:
Add a mask of optional ptrace() events.

ptrace() now stores a mask of optional events in p_ptevents.  Currently
this mask is a single integer, but it can be expanded into an array of
integers in the future.

Two new ptrace requests can be used to manipulate the event mask:
PT_GET_EVENT_MASK fetches the current event mask and PT_SET_EVENT_MASK
sets the current event mask.

The current set of events include:
- PTRACE_EXEC: trace calls to execve().
- PTRACE_SCE: trace system call entries.
- PTRACE_SCX: trace syscam call exits.
- PTRACE_FORK: trace forks and auto-attach to new child processes.
- PTRACE_LWP: trace LWP events.

The S_PT_SCX and S_PT_SCE events in the procfs p_stops flags have
been replaced by PTRACE_SCE and PTRACE_SCX.  PTRACE_FORK replaces
P_FOLLOW_FORK and PTRACE_LWP replaces P2_LWP_EVENTS.

The PT_FOLLOW_FORK and PT_LWP_EVENTS ptrace requests remain for
compatibility but now simply toggle corresponding flags in the
event mask.

While here, document that PT_SYSCALL, PT_TO_SCE, and PT_TO_SCX both
modify the event mask and continue the traced process.

302921:
Rename PTRACE_SYSCALL to LINUX_PTRACE_SYSCALL.

303461:
Note that not all optional ptrace events use SIGTRAP.

New child processes attached due to PTRACE_FORK use SIGSTOP instead of
SIGTRAP.  All other ptrace events use SIGTRAP.

304009:
Remove description of P_FOLLOWFORK as this flag was removed.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304188 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303934,r303937,r303942:
bdrewery [Mon, 15 Aug 2016 11:54:29 +0000 (11:54 +0000)]
MFC r303934,r303937,r303942:

  r303934:
    Support rmdir(2).
  r303937:
    Use proper argument length for rmdir(2) for r303934.
  r303942:
    Fix sorting in r303934.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304150 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303964:
bdrewery [Mon, 15 Aug 2016 09:39:26 +0000 (09:39 +0000)]
MFC r303964:

  PROGS: Support INTERNALPROG.prog=yes to not install it.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304145 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302838: 6513 partially filled holes lose birth time
avg [Mon, 15 Aug 2016 09:19:26 +0000 (09:19 +0000)]
MFC r302838: 6513 partially filled holes lose birth time

git-svn-id: svn://svn.freebsd.org/base/stable/10@304139 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302837: 6844 dnode_next_offset can detect fictional holes
avg [Mon, 15 Aug 2016 09:16:08 +0000 (09:16 +0000)]
MFC r302837: 6844 dnode_next_offset can detect fictional holes

git-svn-id: svn://svn.freebsd.org/base/stable/10@304136 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302836: 6874 rollback and receive need to reset ZPL state to what's on disk
avg [Mon, 15 Aug 2016 09:12:54 +0000 (09:12 +0000)]
MFC r302836: 6874 rollback and receive need to reset ZPL state to what's on disk

git-svn-id: svn://svn.freebsd.org/base/stable/10@304135 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303870:
hselasky [Mon, 15 Aug 2016 09:09:01 +0000 (09:09 +0000)]
MFC r303870:
Fix for use after free.

Clear the device description to avoid use after free because the
bsddev is not destroyed when the mlx5en module is unloaded. Only when
the parent mlx5 module is unloaded the bsddev is destroyed. This fixes
a panic on listing sysctls which refer strings in the bsddev after the
mlx5en module has been unloaded.

Sponsored by: Mellanox Technologies

git-svn-id: svn://svn.freebsd.org/base/stable/10@304134 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302835: fix-up for configuration of AMD Family 10h processors
avg [Mon, 15 Aug 2016 09:04:31 +0000 (09:04 +0000)]
MFC r302835: fix-up for configuration of AMD Family 10h processors
borrowed from Linux

git-svn-id: svn://svn.freebsd.org/base/stable/10@304131 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302840: 6878 Add scrub completion info to "zpool history"
avg [Mon, 15 Aug 2016 09:02:09 +0000 (09:02 +0000)]
MFC r302840: 6878 Add scrub completion info to "zpool history"

git-svn-id: svn://svn.freebsd.org/base/stable/10@304128 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303765:
hselasky [Mon, 15 Aug 2016 09:00:46 +0000 (09:00 +0000)]
MFC r303765:
Keep a reference count on USB keyboard polling to allow recursive
cngrab() during a panic for example, similar to what the AT-keyboard
driver is doing.

Found by: Bruce Evans <brde@optusnet.com.au>

git-svn-id: svn://svn.freebsd.org/base/stable/10@304125 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302839: 6940 Cannot unlink directories when over quota
avg [Mon, 15 Aug 2016 08:53:30 +0000 (08:53 +0000)]
MFC r302839: 6940 Cannot unlink directories when over quota

git-svn-id: svn://svn.freebsd.org/base/stable/10@304121 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303086: 7164 zdb should be able to open the root dataset
avg [Mon, 15 Aug 2016 08:49:07 +0000 (08:49 +0000)]
MFC r303086: 7164 zdb should be able to open the root dataset

git-svn-id: svn://svn.freebsd.org/base/stable/10@304118 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303084: 6391 Override default SPA config location via environment
avg [Mon, 15 Aug 2016 08:44:48 +0000 (08:44 +0000)]
MFC r303084: 6391 Override default SPA config location via environment

git-svn-id: svn://svn.freebsd.org/base/stable/10@304115 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303059
markj [Sun, 14 Aug 2016 19:02:57 +0000 (19:02 +0000)]
MFC r303059
Release the second critical section in uma_zfree_arg() slightly earlier.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304094 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303516
markj [Sun, 14 Aug 2016 19:01:15 +0000 (19:01 +0000)]
MFC r303516
Use vm_page_undirty() instead of manually setting a page field.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304092 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303244, r303399
markj [Sun, 14 Aug 2016 18:59:22 +0000 (18:59 +0000)]
MFC r303244, r303399
De-pluralize "queues" in the pagedaemon code.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304090 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303971:
smh [Sun, 14 Aug 2016 15:27:59 +0000 (15:27 +0000)]
MFC r303971:

Fix vtnet hang with max_virtqueue_pairs > VTNET_MAX_QUEUE_PAIRS

Sponsored by: Multiplay

git-svn-id: svn://svn.freebsd.org/base/stable/10@304081 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303806:
cy [Sat, 13 Aug 2016 01:33:53 +0000 (01:33 +0000)]
MFC r303806:

Add Logitech Unifying receiver.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304030 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoDocument EN-16:10 through EN-16:16.
gjb [Fri, 12 Aug 2016 22:00:13 +0000 (22:00 +0000)]
Document EN-16:10 through EN-16:16.

Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@304022 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 292894,292896: Add ptrace(2) reporting for LWP events.
jhb [Fri, 12 Aug 2016 19:43:06 +0000 (19:43 +0000)]
MFC 292894,292896: Add ptrace(2) reporting for LWP events.

292894:
Add ptrace(2) reporting for LWP events.

Add two new LWPINFO flags: PL_FLAG_BORN and PL_FLAG_EXITED for reporting
thread creation and destruction. Newly created threads will stop to report
PL_FLAG_BORN before returning to userland and exiting threads will stop to
report PL_FLAG_EXIT before exiting completely. Both of these events are
only enabled and reported if PT_LWP_EVENTS is enabled on a process.

292896:
Document the recently added support for ptrace(2) LWP events.

git-svn-id: svn://svn.freebsd.org/base/stable/10@304017 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303897:
gjb [Fri, 12 Aug 2016 19:06:29 +0000 (19:06 +0000)]
MFC r303897:
  Pass overrides to make(1) when building ports for arm/armv6
  targets, similar to what is done for the run-autotools-fixup
  override for non-arm targets.

Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@304014 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302371:
hselasky [Fri, 12 Aug 2016 08:05:40 +0000 (08:05 +0000)]
MFC r302371:
Fix regression issue with XHCI on 32-bit ARMv7 Armada-38x. Make sure
"struct xhci_dev_ctx_addr" fits into a single 4K page until further.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303996 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r301039:
hselasky [Fri, 12 Aug 2016 07:57:27 +0000 (07:57 +0000)]
MFC r301039:
Add support for simplex USB MIDI devices, which only provide BULK or
INTERRUPT endpoints for moving data in one direction, like the KeyRig
49 from M-Audio.

Requested by: Ivan Klymenko <fidaj@ukr.net>

git-svn-id: svn://svn.freebsd.org/base/stable/10@303993 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303773
alc [Wed, 10 Aug 2016 20:34:25 +0000 (20:34 +0000)]
MFC r303773
  Correct a spelling error.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303940 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 273102:
jhb [Wed, 10 Aug 2016 16:31:15 +0000 (16:31 +0000)]
MFC 273102:
Use '-e' to check if the virtio backing file has already been created.

The '-f' check works fine on a regular file but not if the backing file is
a device (e.g., /dev/md0). In this case it would print a misleading but
otherwise benign message about the backing file not being present.

PR: 210410

git-svn-id: svn://svn.freebsd.org/base/stable/10@303925 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303782:
gjb [Wed, 10 Aug 2016 14:00:07 +0000 (14:00 +0000)]
MFC r303782:
  Fix GCE image publication.  The gcutil utility is deprecated in favor
  of gcloud.

Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@303917 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303710:
kib [Wed, 10 Aug 2016 12:56:01 +0000 (12:56 +0000)]
MFC r303710:
Remove unneeded (recursing) Giant acquisition around vprintf(9).

MFC r303715:
Remove ncl_printf(), use printf(9) directly.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303910 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303704:
kib [Wed, 10 Aug 2016 12:36:54 +0000 (12:36 +0000)]
MFC r303704:
Some style changes.  Fix a typo in comment.

MFC r303705:
Remove Giant asserts.  Update comment.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303907 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 303503: Don't treat NOCPU as a valid CPU to CPU_ISSET.
jhb [Tue, 9 Aug 2016 18:59:16 +0000 (18:59 +0000)]
MFC 303503: Don't treat NOCPU as a valid CPU to CPU_ISSET.

If a thread is created bound to a cpuset it might already be bound before
its very first timeslice, and td_lastcpu will be NOCPU in that case.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303885 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r270132 (by gabor):
dim [Tue, 9 Aug 2016 18:49:19 +0000 (18:49 +0000)]
MFC r270132 (by gabor):

- Do not look for more matching lines if -L is specified

Submitted by:   eadler (based on)

MFC r296799 (by ian):

Fix a bug in bsdgrep that caused the program to hang in a tight loop for
some combinations of command line options and search patterns.  The code was
examining regexec flags looking for a regcomp flag value.  The fix is to
look in the struct field where the decoded regcomp flag was stored when the
regex was compiled.

With this fix, it's possible to build WITHOUT_GNU_GREP_COMPAT and
WITH_BSDGREP and have a usable GPL-free grep (which of course lacks gnugrep
extensions).  It now passes the kyua tests except for one test that requires
the -z/--null-data gnu extension, and one test involving outputting context
lines across multiple files which appears to sometimes output an extra
delimiter line ("--") between matches (a rather obscure failure of a rather
obscure feature, so bsdgrep should be generally usable now).

MFC r303676:

Fix a segfault in bsdgrep when parsing the invalid extended regexps "?"
or "+" (these are invalid, because there is no preceding operand).

When bsdgrep attempts to emulate GNU grep in discarding and ignoring the
invalid ? or + operators, some later logic in tre_compile_fast() goes
beyond the end of the buffer, leading to a crash.

Fix this by bailing out, and reporting a bad pattern instead.

Reported by: Steve Kargl

git-svn-id: svn://svn.freebsd.org/base/stable/10@303882 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303760:
loos [Tue, 9 Aug 2016 03:47:38 +0000 (03:47 +0000)]
MFC r303760:

Fix a regression in pf.conf while parsing the 'interval' keyword.

The bug was introduced by r287009.

PR: 210924
Submitted by: kp@
Sponsored by: Rubicon Communications (Netgate)

git-svn-id: svn://svn.freebsd.org/base/stable/10@303865 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoDocument missing ENs and SAs.
gjb [Mon, 8 Aug 2016 23:18:27 +0000 (23:18 +0000)]
Document missing ENs and SAs.

Reviewed by: brd
Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@303861 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoIncrease the IMX (CUBOX-HUMMINGBOARD, WANDBOARD) image size to
gjb [Mon, 8 Aug 2016 20:29:32 +0000 (20:29 +0000)]
Increase the IMX (CUBOX-HUMMINGBOARD, WANDBOARD) image size to
successfully build.

While here, add the SRCBRANCH to the CUBOX-HUMMINGBOARD.conf and
GUMSTIX.conf.

This is a direct commit to stable/10, as the images for stable/11
are already larger than this.

Sponsored by: The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/10@303856 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r290521:
kp [Mon, 8 Aug 2016 19:44:13 +0000 (19:44 +0000)]
MFC r290521:

pf: Fix broken rule skip calculation

r289932 accidentally broke the rule skip calculation. The address family
argument to PF_ANEQ() is now important, and because it was set to 0 the macro
always evaluated to false.
This resulted in incorrect skip values, which in turn broke the rule
evaluations.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303850 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r280331:
bdrewery [Mon, 8 Aug 2016 18:31:28 +0000 (18:31 +0000)]
MFC r280331:

  cred: add proc_set_cred_init helper

PR: D7431

git-svn-id: svn://svn.freebsd.org/base/stable/10@303846 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r280330,r282567:
bdrewery [Mon, 8 Aug 2016 18:10:59 +0000 (18:10 +0000)]
MFC r280330,r282567:

  r280330:
    fork: assign refed credentials earlier
  r282567:
    Fix up panics when fork fails due to hitting proc limit

PR: D7431

git-svn-id: svn://svn.freebsd.org/base/stable/10@303843 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 303737
sephe [Mon, 8 Aug 2016 06:33:59 +0000 (06:33 +0000)]
MFC 303737

    hyperv/storvsc: Claim SPC-3 conformance, thus enable UNMAP support

    The Hyper-V on pre-win10 systems will only report SPC-2 conformance,
    but it actually conforms to SPC-3.  The INQUIRY response is adjusted
    to propagate the SPC-3 version information to CAM.

    Submitted by:   Hongjiang Zhang <honzhan microsoft com>
    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D7405

git-svn-id: svn://svn.freebsd.org/base/stable/10@303827 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 303076,303225: Use MTX_SYSINIT for the VESA lock.
jhb [Sat, 6 Aug 2016 23:53:33 +0000 (23:53 +0000)]
MFC 303076,303225: Use MTX_SYSINIT for the VESA lock.

303076:
vesa: fix panic on suspend

Fix the following panic seen when migrating a FreeBSD guest on Xen:

panic: mtx_lock() of destroyed mutex @ /usr/src/sys/dev/fb/vesa.c:541
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe001d2fa4f0
vpanic() at vpanic+0x182/frame 0xfffffe001d2fa570
kassert_panic() at kassert_panic+0x126/frame 0xfffffe001d2fa5e0
__mtx_lock_flags() at __mtx_lock_flags+0x15b/frame 0xfffffe001d2fa630
vesa_bios_save_restore() at vesa_bios_save_restore+0x78/frame 0xfffffe001d2fa680
vga_suspend() at vga_suspend+0xa3/frame 0xfffffe001d2fa6b0
isavga_suspend() at isavga_suspend+0x1d/frame 0xfffffe001d2fa6d0
bus_generic_suspend_child() at bus_generic_suspend_child+0x44/frame
[...]

This is caused because vga_sub_configure (which is called if the VGA adapter
is attached after VESA tried to initialize), points to vesa_configure, which
doesn't initialize the VESA mutex. In order to fix it, make sure
vga_sub_configure points to vesa_load, so that all the needed vesa
components are properly initialized.

303225:
Use MTX_SYSINIT for the VESA lock.

vesa_init_done isn't a reliable guard for the mutex init.  If
vesa_configure() doesn't find valid VESA info it will not set
vesa_init_done, but the lock will remain initialized.  Revert r303076
and use MTX_SYSINIT to deterministically init the lock.

PR: 209203

git-svn-id: svn://svn.freebsd.org/base/stable/10@303808 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303702:
kib [Sat, 6 Aug 2016 08:23:36 +0000 (08:23 +0000)]
MFC r303702:
Remove mention of Giant from the fork_return() description.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303790 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC 302181,302635: Disable MSI-X migration on older Xen hypervisors.
jhb [Fri, 5 Aug 2016 17:13:25 +0000 (17:13 +0000)]
MFC 302181,302635: Disable MSI-X migration on older Xen hypervisors.

302181:
Add a tunable to disable migration of MSI-X interrupts.

The new 'machdep.disable_msix_migration' tunable can be set to 1 to
disable migration of MSI-X interrupts.

Xen versions prior to 4.6.0 do not properly handle updates to MSI-X
table entries after the initial write.  In particular, the operation
to unmask a table entry after updating it during migration is not
propagated to the "real" table for passthrough devices causing the
interrupt to remain masked.  At least some systems in EC2 are
affected by this bug when using SRIOV.  The tunable can be set in
loader.conf as a workaround.

302635:
xen: automatically disable MSI-X interrupt migration

If the hypervisor version is smaller than 4.6.0. Xen commits 74fd00 and
70a3cb are required on the hypervisor side for this to be fixed, and those
are only included in 4.6.0, so stay on the safe side and disable MSI-X
interrupt migration on anything older than 4.6.0.

It should not cause major performance degradation unless a lot of MSI-X
interrupts are allocated.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303776 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303393:
kib [Wed, 3 Aug 2016 10:23:42 +0000 (10:23 +0000)]
MFC r303393:
Remove empty initializer for the once facility.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303709 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r302330:
ngie [Wed, 3 Aug 2016 01:25:44 +0000 (01:25 +0000)]
MFC r302330:

Remove ftp(1) related files when MK_FTP == no

git-svn-id: svn://svn.freebsd.org/base/stable/10@303694 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFstable/11 r303691:
ngie [Wed, 3 Aug 2016 01:19:10 +0000 (01:19 +0000)]
MFstable/11 r303691:

MFC r302550,r302551,r302552,r302553:

r302550:

Deobfuscate cleanup path in clnt_dg_create(..)

Similar to r300836 and r301800, cl and cu will always be non-NULL as they're
allocated using the mem_alloc routines, which always use
`malloc(..., M_WAITOK)`.

Deobfuscating the cleanup path fixes a leak where if cl was NULL and
cu was not, cu would not be free'd, and also removes a duplicate test for
cl not being NULL.

CID: 10070331007344

r302551:

Deobfuscate cleanup path in clnt_vc_create(..)

Similar to r300836, r301800, and r302550, cl and ct will always
be non-NULL as they're allocated using the mem_alloc routines,
which always use `malloc(..., M_WAITOK)`.

CID: 1007342

r302552:

Convert `svc_xprt_alloc(..)` and `svc_xprt_free(..)`'s prototypes to
ANSI C style prototypes

r302553:

Don't test for xpt not being NULL before calling svc_xprt_free(..)

svc_xprt_alloc(..) will always return initialized memory as it uses
mem_alloc(..) under the covers, which uses malloc(.., M_WAITOK, ..).

CID: 1007341

git-svn-id: svn://svn.freebsd.org/base/stable/10@303692 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r288306
mr [Tue, 2 Aug 2016 22:33:29 +0000 (22:33 +0000)]
MFC r288306
Add support to systat to display zfs arc cache status/info

git-svn-id: svn://svn.freebsd.org/base/stable/10@303684 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r301710:
markj [Tue, 2 Aug 2016 21:17:34 +0000 (21:17 +0000)]
MFC r301710:
Fix an infinite loop in setnetgrent(3) with NIS netgroups.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303680 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303638
sbruno [Tue, 2 Aug 2016 15:44:49 +0000 (15:44 +0000)]
MFC r303638

Unbreak NETMAP usage with em(4) broken in r293331.

git-svn-id: svn://svn.freebsd.org/base/stable/10@303665 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

7 years agoMFC r303338: vt: lock Giant around kbd calls in CONS_GETINFO
emaste [Mon, 1 Aug 2016 19:53:18 +0000 (19:53 +0000)]
MFC r303338: vt: lock Giant around kbd calls in CONS_GETINFO

Note that keyboards are stored in an array and are not freed (just
"unregistered" by clearing some fields) so a race would be limited to
obtaining stale information about an unregistered keyboard.

Reported by: CTurt

git-svn-id: svn://svn.freebsd.org/base/stable/10@303633 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f