freebsd-skq/sys
will 063ae3ec95 Fix a kernel panic when unloading isp(4).
In the current implementation, the isp_kthread() threads never exit.

The target threads do have an exit mode from isp_attach(), but it is
not invoked from isp_detach().

Ensure isp_detach() notifies threads started for each channel, such
that they exit before their parent device softc detaches, and thus
before the module does.  Otherwise, a page fault panic occurs later in:

sysctl_kern_proc
  sysctl_out_proc
    kern_proc_out
      fill_kinfo_proc
        fill_kinfo_thread
          strlcpy(kp->ki_wmesg, td->td_wmesg, sizeof(kp->ki_wmesg));

For isp_kthread() (and isp(4) target threads), td->td_wmesg references
now-unmapped memory after the module has been unloaded.  These threads
are typically msleep()ing at the time of unload, but they could also
attempt to execute now-unmapped code segments.

MFC after:	1 month
Sponsored by:	Spectra Logic
MFSpectraBSD:	r1070921 on 2014/06/22 13:01:17
2014-09-18 02:01:36 +00:00
..
amd64 Presence of any VM_PROT bits in the permission argument on x86 implies 2014-09-17 18:49:57 +00:00
arm The private peripheral interrupts start at offset 16, not 0. Also, use 2014-09-15 15:36:00 +00:00
boot add gptzfsboot.8, zfsboot.8 and zfsloader.8 manual pages 2014-09-15 06:21:28 +00:00
bsm IFp4 @1192291: 2014-04-07 20:44:00 +00:00
cam Correct a comment 2014-09-17 18:59:25 +00:00
cddl Fix the stack tracing for dtrace/powerpc. 2014-09-17 02:43:47 +00:00
compat Add missing proctree locking to fill_kinfo_proc consumers. 2014-08-30 03:10:55 +00:00
conf Disable flow-director support until it's been debugged and verified. 2014-09-15 21:09:19 +00:00
contrib Add iwn-100 firmware. 2014-08-28 00:05:02 +00:00
crypto Put the aesni_cipher_setup() and aesni_cipher_process() functions into 2014-06-24 06:55:49 +00:00
ddb ins is only set and unused, but only when we're not doing software 2014-08-14 16:01:51 +00:00
dev Fix a kernel panic when unloading isp(4). 2014-09-18 02:01:36 +00:00
fs Provide the unique implementation for the VOP_GETPAGES() method used 2014-09-15 12:28:29 +00:00
gdb Add support for gdb's memory searching capabilities to our in-kernel gdb 2014-09-05 16:40:47 +00:00
geom Cache GELI passphrases entered at the console during the boot process, 2014-09-16 08:40:52 +00:00
gnu Merge forgotten .h files from vendor branch. 2014-09-05 02:21:45 +00:00
i386 Presence of any VM_PROT bits in the permission argument on x86 implies 2014-09-17 18:49:57 +00:00
isa Remove vestiges of knowing the ISA bus, which we gave up on around 20 2014-03-19 21:03:04 +00:00
kern Reprase r271616 comments. 2014-09-17 17:43:32 +00:00
kgssapi
libkern Use __DECONST to avoid compiler warnings (and thus build failures) 2014-09-08 08:12:09 +00:00
mips Migrate ie->ie_assign_cpu and associated code to use an int for CPU rather 2014-09-17 17:33:22 +00:00
modules Remove clean option 2014-09-17 22:26:01 +00:00
net * Fix if_omcast handling 2014-09-16 21:48:48 +00:00
net80211 After much toying around with this AMRR initial rate stuff, 2014-08-20 09:10:03 +00:00
netgraph Remove any stale mbuf tags from packets being injected into a netgraph 2014-07-01 07:54:12 +00:00
netinet Fix source address selection on unbound sockets in the presence of multiple 2014-09-16 15:28:19 +00:00
netinet6 Revisions 264905 and 266860 added a "int fib" argument to ifa_ifwithnet and 2014-09-11 20:21:03 +00:00
netipsec Change pr_output's prototype to avoid the need for explicit casts. 2014-08-15 02:43:02 +00:00
netnatm
netpfil - Provide a sleepable lock to protect against ioctl() vs ioctl() races. 2014-09-12 08:39:15 +00:00
netsmb Remove redundant unlock. 2014-04-17 12:22:08 +00:00
nfs Fix/improve fhe_stats sysctl output. 2014-06-14 12:26:12 +00:00
nfsclient Avoid an exclusive acquisition of the object lock on the expected execution 2014-09-14 18:07:55 +00:00
nfsserver Change NFS readdir() to only ignore cookies preceding the given offset for 2014-07-01 20:00:35 +00:00
nlm Correct a typo in nlm_find_host_by_addr(): the intention of the 2014-03-11 00:25:55 +00:00
ofed Revert r271504. A new patch to solve this issue will be made. 2014-09-13 20:52:01 +00:00
opencrypto Fix various issues with invalid file operations: 2014-09-12 21:29:10 +00:00
pc98 MFamd64: Use initializecpu() to set various model-specific registers on 2014-09-10 21:37:47 +00:00
pci Fix various NIC drivers to properly cleanup static DMA resources. 2014-06-11 14:53:58 +00:00
powerpc Migrate ie->ie_assign_cpu and associated code to use an int for CPU rather 2014-09-17 17:33:22 +00:00
rpc Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
security Replace dev_clone with cdevpriv(9) KPI in audit_pipe code. 2014-08-20 16:04:30 +00:00
sparc64 Revert unrelated changes accidentally committed in r271192. 2014-09-17 18:55:39 +00:00
sys The vm_mmap_cdev() explicitely converts absence of both MAP_SHARED and 2014-09-17 21:04:50 +00:00
teken
tools Allow the make_dtb script to work outside of a "make buildkernel" context 2014-08-30 22:39:15 +00:00
ufs Provide the unique implementation for the VOP_GETPAGES() method used 2014-09-15 12:28:29 +00:00
vm The vm_mmap_cdev() explicitely converts absence of both MAP_SHARED and 2014-09-17 21:04:50 +00:00
x86 Migrate ie->ie_assign_cpu and associated code to use an int for CPU rather 2014-09-17 17:33:22 +00:00
xdr
xen xen: implement event channel PIRQ support 2014-08-04 08:42:29 +00:00
Makefile Remove ia64. 2014-07-07 00:27:09 +00:00