freebsd-dev/sys
Robert Watson b1c53bc9c0 Take a first cut at cleaning up ifnet removal and multicast socket
panics, which occur when stale ifnet pointers are left in struct
moptions hung off of inpcbs:

- Add in_ifdetach(), which matches in6_ifdetach(), and allows the
  protocol to perform early tear-down on the interface early in
  if_detach().

- Annotate that if_detach() needs careful consideration.

- Remove calls to in_pcbpurgeif0() in the handling of SIOCDIFADDR --
  this is not the place to detect interface removal!  This also
  removes what is basically a nasty (and now unnecessary) hack.

- Invoke in_pcbpurgeif0() from in_ifdetach(), in both raw and UDP
  IPv4 sockets.

It is now possible to run the msocket_ifnet_remove regression test
using HEAD without panicking.

MFC after:	3 days
2005-09-18 17:36:28 +00:00
..
alpha Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
amd64 Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
arm Move the prototypes of db_md_set_watchpoint(), db_md_clr_watchpoint() 2005-09-10 03:01:25 +00:00
boot Remove EPSON PC-386 note A/W/AE/WR support. 2005-09-14 12:39:06 +00:00
bsm For consistency with more system include files, add a trailing '_' to 2005-05-29 16:11:34 +00:00
cam Make the exploring of all luns supported by an HBA more of a 2005-09-16 01:26:17 +00:00
coda Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
compat Test the mbuf flags against the correct constant. The previous version 2005-08-30 16:21:51 +00:00
conf Add a new AGP driver for ATI IGP chipsets. The driver is based on reading of 2005-09-17 03:36:47 +00:00
contrib Fix "struct ifnet" leak if attach() fails in the middle. 2005-09-16 12:49:06 +00:00
crypto Add VIA/ACE "PadLock" support as a crypto(9) driver. 2005-08-18 00:30:22 +00:00
ddb Move the prototypes of db_md_set_watchpoint(), db_md_clr_watchpoint() 2005-09-10 03:01:25 +00:00
dev Add the KLD to the sndstat info. 2005-09-18 15:38:40 +00:00
doc
fs Assert that (vp) is locked in fifo_close(), since we rely on the 2005-09-18 10:44:50 +00:00
gdb check return value of gdb_rx_varhex 2005-03-28 18:31:18 +00:00
geom Complete rewrite in preparation of adding support for control 2005-09-17 07:05:17 +00:00
gnu In ext2_mountfs(), check that the superblock size, SBSIZE, 2005-09-10 21:30:49 +00:00
i4b Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
i386 Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
ia64 Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
isa Add pnp and location info for the ISA bus. The pnp info is the 2005-08-01 07:03:10 +00:00
isofs/cd9660 - restore the ability to mount cd9660 filesystems as root by inverting 2005-08-14 04:19:36 +00:00
kern Fix spelling in a comment. 2005-09-18 10:46:34 +00:00
libkern - Fix checking range of strings of struct iconv_add_in in libsmb and libkiconv, 2005-08-24 12:38:26 +00:00
modules Add a new AGP driver for ATI IGP chipsets. The driver is based on reading of 2005-09-17 03:36:47 +00:00
net Take a first cut at cleaning up ifnet removal and multicast socket 2005-09-18 17:36:28 +00:00
net80211 Properly set ic_curchan before calling back to device driver to do channel 2005-08-30 14:27:47 +00:00
netatalk Forward declare atalkdomain with static linkage, not extern, since 2005-09-11 16:04:56 +00:00
netatm Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
netgraph When message can't fit into socket receive buffer return ENOBUFS 2005-09-12 14:11:11 +00:00
netinet Take a first cut at cleaning up ifnet removal and multicast socket 2005-09-18 17:36:28 +00:00
netinet6 plugged a possible memory leak 2005-09-16 01:42:50 +00:00
netipsec Correct typo in a comment describing vshiftl(). 2005-06-02 23:56:10 +00:00
netipx Forward declaring static variables as extern is invalid ISO-C. Now that 2005-09-07 10:06:14 +00:00
netkey SADB_UPDATE did not return an error when key length is invalid. 2005-08-22 07:05:14 +00:00
netnatm Forward declaring static variables as extern is invalid ISO-C. Now that 2005-09-07 10:06:14 +00:00
netncp Change API of mb_copy_t in libmchain so that netsmb can handle 2005-07-29 13:22:37 +00:00
netsmb Merge the dev_clone and dev_clone_cred event handlers into a single 2005-08-08 19:55:32 +00:00
nfs Fixes for NFS crashes on architectures that require strict alignment. 2005-07-14 20:08:27 +00:00
nfs4client - We want if (mrep != NULL) not if (m_freem != NULL). m_freem will never 2005-04-25 05:11:19 +00:00
nfsclient FIx for a bug in the change that made nfs_timer() MPSAFE. We need to 2005-07-27 15:06:26 +00:00
nfsserver NFS write gathering defers execution of NFS server write requests to wait 2005-04-17 16:25:36 +00:00
opencrypto Fix bogus check. It was possible to panic the kernel by giving 0 length. 2005-08-18 11:58:03 +00:00
pc98 Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
pccard Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
pci Add a new AGP driver for ATI IGP chipsets. The driver is based on reading of 2005-09-17 03:36:47 +00:00
posix4 Introduce MAC Framework and MAC Policy entry points to label and control 2005-05-04 10:39:15 +00:00
powerpc Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
rpc
security Insert a series of place-holder function pointers in mac_policy.h for 2005-08-08 16:09:33 +00:00
sparc64 Introduce a kernel config for the Mandatory Access Control framework. 2005-09-18 03:15:36 +00:00
sys MFp4: Expose device_probe_child() 2005-09-18 01:32:09 +00:00
tools Allow EVFILT_VNODE events to work on every filesystem type, not just 2005-06-09 20:20:31 +00:00
ufs Giant is no longer needed here. 2005-09-12 01:21:42 +00:00
vm Introduce a new lock for the purpose of synchronizing access to the 2005-09-09 06:03:08 +00:00
Makefile