freebsd-dev/sys
Christian S.J. Peron fbf2edb6e4 This commit adds a shared locking mechanism very similar to the
mechanism used by pfil.  This shared locking mechanism will remove
a nasty lock order reversal which occurs when ucred based rules
are used which results in hard locks while mpsafenet=1.

So this removes the debug.mpsafenet=0 requirement when using
ucred based rules with IPFW.

It should be noted that this locking mechanism does not guarantee
fairness between read and write locks, and that it will favor
firewall chain readers over writers. This seemed acceptable since
write operations to firewall chains protected by this lock tend to
be less frequent than reads.

Reviewed by:	andre, rwatson
Tested by:	myself, seanc
Silence on:	ipfw@
MFC after:	1 month
2004-12-10 02:17:18 +00:00
..
alpha Change gdb_cpu_setreg() to not take the value to which to set the 2004-12-01 06:40:35 +00:00
amd64 MFi386: rev 1.12: re-allow fast interrupts to cause preemption 2004-12-06 22:56:15 +00:00
arm Include <sys/signalvar.h> for trapsignal(). 2004-12-07 17:39:42 +00:00
boot The 'start' command processes loader.conf variables, not loader.rc. 2004-12-06 05:30:31 +00:00
cam Correct another location where inquiry length as calculated from the 2004-11-18 07:24:29 +00:00
coda Convert coda to nmount. 2004-12-06 19:46:02 +00:00
compat Do not blindly pass linux filesystem specific mount data across. 2004-12-03 18:14:22 +00:00
conf Add IBM Laptop extra device driver. 2004-12-09 13:54:29 +00:00
contrib clear old files now in public 2004-12-08 18:27:44 +00:00
crypto Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove 2004-11-16 20:42:32 +00:00
ddb When printing a stack trace for a thread, also print the pid and tid. 2004-11-23 23:11:47 +00:00
dev Fix compilation and correct mapping from struct ifnet to 2004-12-10 00:59:27 +00:00
doc
fs First save from editor, *then* commit. 2004-12-07 15:25:36 +00:00
gdb Change gdb_cpu_setreg() to not take the value to which to set the 2004-12-01 06:40:35 +00:00
geom - Turn off 'fast' mode by default and increase maximum memory to consume 2004-12-09 12:26:47 +00:00
gnu Convert to nmount. Add omount compat code. 2004-12-06 20:34:32 +00:00
i4b Mark i4b IPR and SPPP drivers as NET_NEEDS_GIANT(), as they both 2004-10-12 09:25:52 +00:00
i386 If the parent process has the trap bit set (i.e. a debugger had single 2004-12-08 19:03:55 +00:00
ia64 Don't obtain the HCDP address directly from the bootinfo structure. 2004-12-08 05:46:54 +00:00
isa PNP BIOS devices are fundamentally different than ISA PNP devices. 2004-12-07 05:30:02 +00:00
isofs/cd9660 First save from editor, *then* commit. 2004-12-07 15:25:36 +00:00
kern Start the protocol timeouts only after all domains have been initialized 2004-12-09 11:47:30 +00:00
libkern Use the RET macro. 2004-11-09 16:47:47 +00:00
modules Connect acpi_ibm to build. 2004-12-09 16:47:07 +00:00
net Cleanup link state change notification: 2004-12-08 05:45:59 +00:00
net80211 fixup printf arguments for 64-bit machines 2004-12-08 22:34:07 +00:00
netatalk Correct a misspelling in a comment. 2004-12-05 13:28:52 +00:00
netatm Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netgraph Use ng_callout() and ng_uncallout() instead of home-grown 2004-12-09 07:49:02 +00:00
netinet This commit adds a shared locking mechanism very similar to the 2004-12-10 02:17:18 +00:00
netinet6 style the last change 2004-12-09 09:52:58 +00:00
netipsec Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netipx Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netkey support TCP-MD5(IPv4) in KAME-IPSEC, too. 2004-11-08 18:49:51 +00:00
netnatm Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netncp Add missing zero flag argument. 2004-10-12 08:22:08 +00:00
netsmb Don't use vn_todev(). 2004-11-10 07:16:59 +00:00
nfs Add non-blocking versions of nfsm_dissect() and friends, for use from 2004-12-06 17:33:52 +00:00
nfs4client Rewrite of the NFS client's reply handling. We now have NFS socket 2004-12-06 21:11:15 +00:00
nfsclient Fix for a Lock Order Reversal in the nfs_flush() path, between the 2004-12-07 21:16:32 +00:00
nfsserver Correct a bug in nfsrv_create() where a call to nfsrv_access() might 2004-11-11 21:30:52 +00:00
opencrypto Push Giant down through ioctl. 2004-11-17 09:09:55 +00:00
pc98 Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
pccard
pci Update the Tigon 1 and 2 driver to use the sf_buf API for implementing 2004-12-06 00:43:40 +00:00
posix4 Back when VOP_* was introduced, we did not have new-style struct 2004-12-01 23:16:38 +00:00
powerpc Create a new definition, PSL_KERNSET, which is used for setting the 2004-11-30 09:04:41 +00:00
rpc Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-23 18:25:46 +00:00
security Add a new sysctl/tunable to mac_portacl: 2004-12-08 11:46:44 +00:00
sparc64 PNP BIOS devices are fundamentally different than ISA PNP devices. 2004-12-07 05:30:02 +00:00
sys add m_append utility function to be used in forthcoming changes 2004-12-08 05:42:02 +00:00
tools Back when VOP_* was introduced, we did not have new-style struct 2004-12-01 23:16:38 +00:00
ufs Fixes a bug that caused UFS2 filesystems bigger than 2TB to 2004-12-09 21:24:00 +00:00
vm With the removal of kern/uipc_jumbo.c and sys/jumbo.h, 2004-12-08 05:01:47 +00:00
Makefile