freebsd-skq/sys
rmacklem 7adae26f0f A crash reported on freebsd-fs@ on Sep. 23, 2011 under the subject
heading "kernel panics with RPCSEC_GSS" appears to be caused by a
corrupted tailq list for the client structure. Looking at the code, calls
to the function svc_rpc_gss_forget_client() were done in an SMP unsafe
manner, with the svc_rpc_gss_lock only being acquired in the function
and not before it. As such, when multiple threads called
svc_rpc_gss_forget_client() concurrently, it could try and remove the
same client structure from the tailq lists multiple times.
The patch fixes this by moving the critical code into a separate
function called svc_rpc_gss_forget_client_locked(), which must be
called with the lock held. For the one case where the caller would
have no interest in the lock, svc_rpc_gss_forget_client() was retained,
but a loop was added to check that the client structure is still in
the tailq lists before removing it, to make it safe for multiple
concurrent calls.

Tested by:	clinton.adams at gmail.com (earlier version)
Reviewed by:	zkirsch
MFC after:	3 days
2011-10-07 01:15:04 +00:00
..
amd64 Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many 2011-10-04 21:40:25 +00:00
arm Add missing newbus glue, this has never attached properly to gpiobus. 2011-10-05 08:33:50 +00:00
boot Allow ixp425 boot2 to compile after r219452 2011-10-04 00:15:40 +00:00
bsm Add ECAPMODE, "Not permitted in capability mode", a new kernel errno 2011-03-01 13:14:28 +00:00
cam Add descriptor sense support to CAM, and honor sense residuals properly in 2011-10-03 20:32:55 +00:00
cddl In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
compat Use the caculated length instead of maximum length. 2011-10-06 21:55:05 +00:00
conf Add strnlen() to libkern. 2011-10-04 23:53:47 +00:00
contrib Use the correct byte order for the ip_divert(4) mbuf tag port meta 2011-08-25 09:38:33 +00:00
crypto Fix a bug in the result of manual assembly. 2011-03-02 14:56:58 +00:00
ddb Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
dev Fix a typo in a comment. 2011-10-06 16:13:47 +00:00
fs Export devfs inode number allocator for the kernel consumers. 2011-10-05 16:50:15 +00:00
gdb Modify kdb_trap() so that it re-calls the dbbe_trap function as long as 2011-02-18 22:25:11 +00:00
geom Add some spare fields to the g_class and g_geom structures needed to implement 2011-07-17 20:35:30 +00:00
gnu Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
i386 Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many 2011-10-04 21:40:25 +00:00
ia64 Remove locking of the vm page queues from several pmaps, which only 2011-09-28 15:01:20 +00:00
isa MFC 2011-05-09 18:53:13 +00:00
kern - Currently, sched_balance_pair() may cause a CPU to send an IPI_PREEMPT to 2011-10-06 11:48:13 +00:00
kgssapi In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
libkern Add strnlen() to libkern. 2011-10-04 23:53:47 +00:00
mips Convert MIPS to the syscallenter/syscallret system call sequence handlers. 2011-10-06 17:34:43 +00:00
modules Add the 9750 SATA+SAS 6Gb/s RAID controller card driver, tws(4). Many 2011-10-04 21:40:25 +00:00
net Pass the fibnum where we need filtering of the message on the 2011-09-28 13:48:36 +00:00
net80211 Fix a panic in the wifi stack when a software beacon miss occurs in the wrong state. 2011-10-02 02:42:31 +00:00
netatalk
netgraph Add IPv6 support to the ng_ipfw(4) [1]. Also add ifdefs to be able 2011-09-15 12:28:17 +00:00
netinet For the INP_TIMEWAIT case, there is no valid tcpcb object tied to the 2011-10-06 14:29:38 +00:00
netinet6 The IFA_RTSELF instead of the IFA_ROUTE flag should be checked to 2011-10-05 16:27:11 +00:00
netipsec Update packet filter (pf) code to OpenBSD 4.5. 2011-06-28 11:57:25 +00:00
netipx
netnatm
netncp
netsmb
nfs In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
nfsclient Merge 220876, 220877, and 221537 from the new NFS client to the old: 2011-08-09 15:29:58 +00:00
nfsserver Fix the NFS servers so that they can do a Lookup of "..", 2011-09-03 00:28:53 +00:00
nlm In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ofed Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
opencrypto Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
pc98 MFi386: revision 225936 2011-10-04 13:24:22 +00:00
pci Add new device id of D-Link DGE-530T Rev. C controller. DGE-503T 2011-07-30 01:06:12 +00:00
powerpc Revert r225875, r225877: 2011-10-03 21:19:15 +00:00
rpc A crash reported on freebsd-fs@ on Sep. 23, 2011 under the subject 2011-10-07 01:15:04 +00:00
security In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
sparc64 - Use atomic operations rather than sched_lock for safely assigning pm_active 2011-10-06 11:01:31 +00:00
sys Supply unique (st_dev, st_ino) value pair for the fstat(2) done on the pipes. 2011-10-05 16:56:06 +00:00
teken Fix various whitespace inconsistencies in sys/teken. 2011-06-26 18:25:10 +00:00
tools GNU awk does not output escaped newlines in multi-line printc statements. This 2011-03-31 21:33:33 +00:00
ufs This update eliminates a lock-order reversal warning discovered 2011-09-27 17:41:48 +00:00
vm Style nit. 2011-09-29 00:44:34 +00:00
x86 Ignore SRAT memory entries if the memory range does not overlap with an 2011-10-05 16:03:47 +00:00
xdr
xen Properly handle suspend/resume events in the Xen device 2011-09-20 23:44:34 +00:00
Makefile Include sys/xen in cscope tag file generation. 2011-06-10 20:51:41 +00:00