freebsd-dev/sys
John Baldwin e0569c0798 Clean up the svr4 socket cache and streams code some to make it more easily
locked.
- Move all the svr4 socket cache code into svr4_socket.c, specifically
  move svr4_delete_socket() over from streams.c.  Make the socket cache
  entry structure and svr4_head private to svr4_socket.c as a result.
- Add a mutex to protect the svr4 socket cache.
- Change svr4_find_socket() to copy the sockaddr_un struct into a
  caller-supplied sockaddr_un rather than giving the caller a pointer to
  our internal one.  This removes the one case where code outside of
  svr4_socket.c could access data in the cache.
- Add an eventhandler for process_exit and process_exec to purge the cache
  of any entries for the exiting or execing process.
- Add methods to init and destroy the socket cache and call them from the
  svr4 ABI module's event handler.
- Conditionally grab Giant around socreate() in streamsopen().
- Use fdclose() instead of inlining it in streamsopen() when handling
  socreate() failure.
- Only allocate a stream structure and attach it to a socket in
  streamsopen().  Previously, if a svr4 program performed a stream
  operation on an arbitrary socket not opened via the streams device,
  we would attach streams state data to it and change f_ops of the
  associated struct file while it was in use.  The latter was especially
  not safe, and if a program wants a stream object it should open it via
  the streams device anyway.
- Don't bother locking so_emuldata in the streams code now that we only
  touch it right after creating a socket (in streamsopen()) or when
  tearing it down when the file is closed.
- Remove D_NEEDGIANT from the streams device as it is no longer needed.
2006-07-21 20:40:13 +00:00
..
amd64 Add pmap_clear_write() to the interface between the virtual memory 2006-07-20 17:48:41 +00:00
arm Implement pmap_clear_write(). 2006-07-20 23:26:22 +00:00
boot Don't descend into ${MACHINE} on the arm platforms. 2006-06-18 17:44:40 +00:00
bsm Merge OpenBSM 1.0 alpha 7 new AUE_ event identifiers to kernel version 2006-07-03 14:45:43 +00:00
cam Drop Giant before returning in error path, thus eliminates 2006-07-14 13:58:32 +00:00
coda Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
compat Clean up the svr4 socket cache and streams code some to make it more easily 2006-07-21 20:40:13 +00:00
conf Add -EB to ${LD} too if we're making a big endian kernel, not anything in 2006-07-18 21:16:39 +00:00
contrib Import from OpenBSD 1.168, dhartmei: 2006-07-21 09:48:13 +00:00
crypto Use the already stored VIA RNG probe information 2006-07-13 09:15:14 +00:00
ddb Disable the pager for 'panic' and 'call' to be paranoid. 2006-07-19 18:26:53 +00:00
dev Clean up the svr4 socket cache and streams code some to make it more easily 2006-07-21 20:40:13 +00:00
fs Update comment. 2006-07-18 22:29:54 +00:00
gdb Convert to new console api 2006-05-26 13:54:27 +00:00
geom Always allow to specify components with /dev/ prefix. 2006-07-13 20:37:59 +00:00
gnu Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy series 2006-07-15 19:36:28 +00:00
i4b Extend i4b to support CAPI manager based ISDN controllers (CAPI manager is part of 2006-07-09 21:16:06 +00:00
i386 - Pass the MPSAFE flag to namei() in linux_uselib() and handle conditional 2006-07-21 20:22:13 +00:00
ia64 Move default GEOM classes from files.ia64, where they were marked 2006-07-17 20:02:51 +00:00
isa (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c)) 2006-07-08 16:50:10 +00:00
isofs/cd9660 Remove calls to vfs_export() for exporting a filesystem for NFS mounting 2006-05-26 00:32:21 +00:00
kern Add a comment to explain what fdclose() does and what it's purpose is 2006-07-21 20:24:00 +00:00
libkern First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
modules - Connect the snd_emu10kx driver to the build. [1] 2006-07-15 20:22:40 +00:00
net Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
net80211 correct ie length check; need to include fixed part of ie 2006-07-16 21:19:28 +00:00
netatalk Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netgraph Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netinet Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netinet6 Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netipsec Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netipx Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netkey Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netnatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netncp
netsmb Always lock the lockmgr lock when creating an smb connection object rather 2006-07-17 16:12:59 +00:00
nfs
nfs4client Always supply curthread as argument to nfs_asyncio and nfs_doio 2006-07-12 09:16:35 +00:00
nfsclient Signals may be delivered to process as well as to the thread. Check the 2006-07-08 15:39:11 +00:00
nfsserver Size the NFS server dupreq cache on the basis of nmbclusters. On servers 2006-06-23 00:42:26 +00:00
opencrypto When DIAGNOSTIC is defined, verify if we don't free crypto requests from 2006-06-06 15:04:52 +00:00
pc98 Simplify the pager support in DDB. Allowing different db commands to 2006-07-12 21:22:44 +00:00
pccard
pci Properly detect the RTL8168(B?) again. RealTek sent me a bunch of sample 2006-06-28 16:04:54 +00:00
posix4 Backout the feature which can change thread's scheduling option, I really 2006-07-13 06:41:26 +00:00
powerpc Simplify the pager support in DDB. Allowing different db commands to 2006-07-12 21:22:44 +00:00
rpc
security Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in 2006-07-17 09:07:02 +00:00
sparc64 Add pmap_clear_write() to the interface between the virtual memory 2006-07-20 17:48:41 +00:00
sys Add new kernel config option. NO_SYSCTL_DESCR to omit the descriptions for 2006-07-18 17:00:51 +00:00
tools Check for errors when registering and unregistering firmware modules. This 2006-06-16 21:06:03 +00:00
ufs Drop two unnecessary casts. 2006-07-18 07:03:43 +00:00
vm Eliminate OBJ_WRITEABLE. It hasn't been used in a long time. 2006-07-21 06:40:29 +00:00
Makefile o Add geom to a list of cscope dirs. 2006-07-04 14:14:16 +00:00