freebsd-skq/sys
John Baldwin 6db55a0f3a Rework pass through changes in r305485 to be safer.
Specifically, devices that do not support PCI-e FLR and were not
gracefully shutdown by the guest OS could continue to issue DMA
requests after the VM was terminated.  The changes in r305485 meant
that those DMA requests were completed against the host's memory which
could result in random memory corruption.  Instead, leave ppt devices
that are not attached to a VM disabled in the IOMMU and only restore
the devices to the host domain if the ppt(4) driver is detached from a
device.

As an added safety belt, disable busmastering for a pass-through device
when before adding it to the host domain during ppt(4) detach.

PR:		222937
Tested by:	Harry Schmalzbauer <freebsd@omnilan.de>
Reviewed by:	grehan
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D12661
2017-10-27 14:57:14 +00:00
..
amd64 Rework pass through changes in r305485 to be safer. 2017-10-27 14:57:14 +00:00
arm Add a 'place holder' arm struct efi_fb until a real one comes 2017-10-26 16:36:27 +00:00
arm64 loader.efi: Make framebuffer commands available for arm64 2017-10-25 18:55:04 +00:00
boot loader.efi: Make framebuffer commands available for arm64 2017-10-25 18:55:04 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam We should be call adaerror() instead of cam_periph_error() always. 2017-10-26 22:53:55 +00:00
cddl Fix the error message when creating a zpool on a too-small device 2017-10-23 23:05:29 +00:00
compat Import the latest CloudABI definitions, version 0.16. 2017-10-18 19:22:53 +00:00
conf With r181803 on 2008-08-17 23:27:27Z the first VIMAGE commit went into 2017-10-20 21:40:59 +00:00
contrib Introduce cnvlist_name() and cnvlist_type() functions. 2017-10-26 20:44:42 +00:00
crypto aesni(4): CRYPTO_AES_NIST_GCM_16 mandates MAC 2017-10-04 21:15:45 +00:00
ddb Rename mkdumpheader() and group EKCD functions in kern_shutdown.c. 2017-08-18 04:04:09 +00:00
dev Make time we wait for a power cycle tunable. 2017-10-26 22:53:02 +00:00
fs Fix physical block number overflow in different places. 2017-10-24 20:10:08 +00:00
gdb gdb kernel server: fixup Search:memory style 2017-10-17 01:12:17 +00:00
geom Make gmountver(8) use direct dispatch. 2017-10-26 10:18:31 +00:00
gnu dts: Update our device tree sources file fomr Linux 4.13 2017-10-21 15:47:40 +00:00
i386 Fix the VM_NRESERVLEVEL == 0 build. 2017-10-23 15:34:05 +00:00
isa Use better hard-coded defaults for the cursor shape, and remove nearby 2017-08-19 19:33:16 +00:00
kern Discard the correct thread event reported for a ptrace stop. 2017-10-27 03:16:19 +00:00
kgssapi
libkern Continuing efforts to provide hardening of FFS, this change adds a 2017-09-22 12:45:15 +00:00
mips Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
modules Enable i386 build of the Cavium LiquidIO driver (lio) module. 2017-10-25 17:49:17 +00:00
net Some cache related optimizations 2017-10-23 20:50:08 +00:00
net80211 [net80211] don't try to follow a NULL rxs pointer down the sink. 2017-10-13 06:49:07 +00:00
netgraph Correction after r323873: #include <sys/lock.h> in addition to <sys/rmlock.h> 2017-09-28 11:26:37 +00:00
netinet Fix a bug reported by Felix Weinrank using the libfuzzer on the 2017-10-25 09:12:22 +00:00
netinet6 Evaluate packet size after the firewall had its chance in the ip6 fast path 2017-10-25 19:21:48 +00:00
netipsec opencrypto: Loosen restriction on HMAC key sizes 2017-09-26 16:18:10 +00:00
netpfil Fix Dummynet AQM packet marking function ecn_mark() and fq_codel / 2017-10-26 10:11:35 +00:00
netsmb netsmb: Fix buggy/racy smb_strdupin() 2017-09-29 15:53:26 +00:00
nfs Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfsclient
nfsserver
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed The remote DMA TCP portspace selector, RDMA_PS_TCP, is used for both 2017-10-20 08:20:15 +00:00
opencrypto crypto(9): Print flags in more useful hex 2017-10-11 20:04:30 +00:00
powerpc Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
riscv Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Sprinkle __read_frequently on few obvious places. 2017-09-06 20:33:33 +00:00
sparc64 Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
sys Discard the correct thread event reported for a ptrace stop. 2017-10-27 03:16:19 +00:00
teken Fix syscons escape sequence for setting the local cursor type. This sequence 2017-08-18 15:40:40 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools embed_mfs: add error handling, usage 2017-10-17 21:13:26 +00:00
ufs Make drain_output() use bufobj_wwait(). 2017-10-25 17:20:18 +00:00
vm Micro-optimize the handling of fictitious pages in vm_page_free_prep(). 2017-10-24 17:14:53 +00:00
x86 Add AT_HWCAP2 ELF auxiliary vector. 2017-10-21 12:05:01 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00