freebsd-nq/sys
Will Andrews 1d0a1de2aa 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
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
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
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
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
nfs
nfsclient Avoid an exclusive acquisition of the object lock on the expected execution 2014-09-14 18:07:55 +00:00
nfsserver
nlm
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
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
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