freebsd-src/sys
Robert Watson d2c205d5de A few locking fixes and cleanups to pfil hook registration,
unregistration, and execution:

- Add some brackets for clarity and trim a bit of vertical whitespace.
- Remove comments that may not contribute to clarity, such as "Lock"
  before acquiring a lock and "Get memory" before allocating memory.
- During hook registration, don't drop pfil_list_lock between checking
  for a duplicate and registering the hook, as this leaves a race
  condition by failing to enforce the "no duplicate hooks" invariant.
- Don't lock the hook during registration, since it's not yet in use.
- Document assumption that hooks will be quiesced before being
  unregistered.
- Don't write-lock hooks during removal because they are assumed
  quiesced.
- Rename "done" label to "locked_error" to be clear that it's an error
  path on the way out of hook execution.

MFC after:	pretty soon
2008-12-16 17:03:22 +00:00
..
amd64 Bug fix: %ebx needs to be preserved in the user callchain capture 2008-12-14 09:06:28 +00:00
arm Avoid confusion and adjust link address range of Marvell Orion kernel so it is 2008-12-05 15:31:51 +00:00
boot Disconnect the efi from pc98. It's not needed. 2008-12-14 02:57:41 +00:00
bsm Merge OpenBSM 1.1 alpha 2 from the OpenBSM vendor branch to head, both 2008-12-02 23:26:43 +00:00
cam Fix locking in periph drivers - don't try to unlock periph 2008-12-16 17:01:52 +00:00
cddl Put the MIPS support back in after it was removed in r185029. 2008-12-04 16:31:08 +00:00
compat Reference the vmspace of the process being inspected by procfs, linprocfs 2008-12-12 12:12:36 +00:00
conf Adapt parts of the sparc64 Open Firmware bus enumeration code (in particular, 2008-12-15 15:31:10 +00:00
contrib This main goals of this project are: 2008-12-15 06:10:57 +00:00
crypto Avoid 256 integer divisions per rc4_init() call. Replace it with using 2008-12-16 13:58:37 +00:00
ddb Collect N identical (or near identical) mkdumpheader() implementations into 2008-10-01 22:08:53 +00:00
dev Call ata_legacy() only once on attach and save it's result. Scanning PCI 2008-12-16 16:04:40 +00:00
fs Reference the vmspace of the process being inspected by procfs, linprocfs 2008-12-12 12:12:36 +00:00
gdb
geom - Add missing word in comment. 2008-12-08 17:09:02 +00:00
gnu Adapt to accmode_t changes. 2008-11-14 09:58:16 +00:00
i386 - Bug fix: prevent a thread from migrating between CPUs between the 2008-12-13 13:07:12 +00:00
ia64 Remove "[KEEP THIS!]" from COMPAT_43TTY. It's not really that important. 2008-12-02 19:09:08 +00:00
isa Allow device hints to wire the unit numbers of devices. 2008-11-18 21:01:54 +00:00
kern If possible, try to obtain max_mhz on cpufreq attach instead of first request. 2008-12-16 01:24:05 +00:00
kgssapi Call svc_freereq() before returning from the service proc. 2008-11-12 15:31:05 +00:00
libkern Add simple locking for the in-kernel iconv code. Translation operations 2008-12-05 21:19:24 +00:00
mips Remove redundant assignment. 2008-12-11 07:00:23 +00:00
modules This main goals of this project are: 2008-12-15 06:10:57 +00:00
net A few locking fixes and cleanups to pfil hook registration, 2008-12-16 17:03:22 +00:00
net80211 fix comment 2008-12-16 01:17:36 +00:00
netatalk Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netgraph This main goals of this project are: 2008-12-15 06:10:57 +00:00
netinet IPFW's pfil hook/unhook code ignores the return values of pfil_add_hook() 2008-12-16 15:05:35 +00:00
netinet6 check pointers against NULL 2008-12-16 06:01:08 +00:00
netipsec Another step assimilating IPv[46] PCB code - directly use 2008-12-15 21:50:54 +00:00
netipx Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through 2008-12-11 10:29:35 +00:00
netnatm Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netncp Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
netsmb Implement device cloning for /dev/nsmb, the netsmb control pseudo-device. 2008-11-03 14:23:15 +00:00
nfs
nfs4client Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
nfsclient Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
nfsserver Handle VFS_VGET() failing with an error other than EOPNOTSUPP in addition 2008-12-16 04:34:09 +00:00
nlm Don't call svc_freereq() before svc_freeargs(). 2008-11-12 15:30:30 +00:00
opencrypto Don't hang if encrypting/decrypting using struct iovecs where one of the 2008-10-30 16:11:07 +00:00
pc98 Remove "[KEEP THIS!]" from COMPAT_43TTY. It's not really that important. 2008-12-02 19:09:08 +00:00
pccard
pci By default assume a 8139 chip if the EEPROM contents prove inconclusive. The 2008-12-15 21:54:23 +00:00
powerpc Adapt parts of the sparc64 Open Firmware bus enumeration code (in particular, 2008-12-15 15:31:10 +00:00
rpc Add a missing call to mtx_destroy(). 2008-11-12 12:21:18 +00:00
security Merge OpenBSM 1.1 alpha 2 from the OpenBSM vendor branch to head, both 2008-12-02 23:26:43 +00:00
sparc64 Adapt parts of the sparc64 Open Firmware bus enumeration code (in particular, 2008-12-15 15:31:10 +00:00
sun4v Adapt parts of the sparc64 Open Firmware bus enumeration code (in particular, 2008-12-15 15:31:10 +00:00
sys This main goals of this project are: 2008-12-15 06:10:57 +00:00
tools Remove some unused and broken code that attempted to not invoke locking 2008-11-03 19:57:40 +00:00
ufs The dqrele() function syncs the dq, then acquires the dqh lock, and then 2008-12-08 11:04:17 +00:00
vm Instead of forcing vn_start_write() to reset mp back to NULL for the 2008-11-16 21:57:54 +00:00
xdr Use the remote address for access control, not the local address. This fixes 2008-11-13 14:36:52 +00:00
xen Integrate 185578 from dfr 2008-12-04 07:59:05 +00:00
Makefile