freebsd-skq/sys
Poul-Henning Kamp 59f69ba49f Unsupport forceful unmounts of DEVFS.
After disscussing things I have decided to take the easy and
consistent 90% solution instead of aiming for the very involved 99%
solution.

If we allow forceful unmounts of DEVFS we need to decide how to handle
the devices which are in use through this filesystem at the time.

We cannot just readopt the open devices in the main /dev instance since
that would open us to security issues.

For the majority of the devices, this is relatively straightforward
as we can just pretend they got revoke(2)'ed.

Some devices get tricky:  /dev/console and /dev/tty for instance
does a sort of recursive open of the real console device.   Other devices
may be mmap'ed (kill the processes ?).

And then there are disk devices which are mounted.

The correct thing here would be to recursively unmount the filesystems
mounte from devices from our DEVFS instance (forcefully) and if
this succeeds, complete the forcefully unmount of DEVFS.  But if
one of the forceful unmounts fail we cannot complete the forceful
unmount of DEVFS, but we are likely to already have severed a lot
of stuff in the process of trying.

Event attempting this would be a lot of code for a very far out
corner-case which most people would never see or get in touch with.

It's just not worth it.
2005-01-04 07:52:26 +00:00
..
alpha - make machine model list more comprehensive, the whole Alpha family tree 2005-01-01 16:11:53 +00:00
amd64 Minor sync to i386 GENERIC in the form of comments and whitespace. 2004-12-30 18:51:23 +00:00
arm Modify pmap_enter_quick() so that it expects the page queues to be locked 2004-12-23 20:16:11 +00:00
boot NOFORTH -> NO_FORTH 2004-12-21 12:32:15 +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 Stop explicitly touching td_base_pri outside of the scheduler and simply 2004-12-30 20:29:58 +00:00
conf Remove last vestiges of old wd driver. ata works well on pc98 and 2005-01-04 06:25:24 +00:00
contrib * Remove some code that's in a #ifndef FreeBSD that's no longer used. 2004-12-26 09:09:29 +00:00
crypto Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +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 Reduce diffs to work in progress before checking in serious changes. 2005-01-03 13:19:49 +00:00
doc
fs Unsupport forceful unmounts of DEVFS. 2005-01-04 07:52:26 +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 Fix 'rebuild' command (we ignore retaste event now, so don't relay on it). 2005-01-03 19:42:37 +00:00
gnu Implement simpler panics for VOP_{read,write} on fifos. 2004-12-14 21:30:45 +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 Use NULL instead of 0 in a few places as well as various whitespace fixes. 2004-12-30 19:26:23 +00:00
ia64 Further enhance the handling of misaligned loads and stores: 2005-01-02 00:20:54 +00:00
isa Reduce diffs to work in progress before checking in serious changes. 2005-01-03 13:19:49 +00:00
isofs/cd9660 First save from editor, *then* commit. 2004-12-07 15:25:36 +00:00
kern Regen. 2005-01-03 00:47:23 +00:00
libkern Use the RET macro. 2004-11-09 16:47:47 +00:00
modules Back out previous commits. Installing new share/mk fixes this. 2005-01-03 07:27:17 +00:00
net Add FR support to sppp (MFCronyx). 2004-12-28 00:07:57 +00:00
net80211 Correct scan candidate selection logic for dual-band devices: prefer 2005-01-01 17:48:27 +00:00
netatalk If MALLOC() fails in at_pcballoc(), return ENOBUFS rather than 2005-01-03 00:16:07 +00:00
netatm Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netgraph Remove a check that never returns true, because in this case we have panic 2004-12-30 12:22:51 +00:00
netinet Add a sysctl (net.inet.tcp.insecure_rst) which allows one to specify 2005-01-03 07:08:37 +00:00
netinet6 In certain cases ip_output() can free our route, so check 2004-12-10 07:51:14 +00:00
netipsec Initialize struct pr_userreqs in new/sparse style and fill in common 2004-11-08 14:44:54 +00:00
netipx Garbage collect unused ipx_abort(). 2005-01-03 12:54:31 +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 Use byteorder(9) functions to implement the [g,s]et[d,w][b,l]e macros so 2005-01-03 18:03:00 +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 Turn NFS directio off until the stability issues are resolved. 2004-12-23 21:30:30 +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 Catchup to wd removal 2005-01-04 07:26:51 +00:00
pccard
pci Add PCI and device ID's to if_xl to support: 2005-01-03 19:22:37 +00:00
posix4 Back when VOP_* was introduced, we did not have new-style struct 2004-12-01 23:16:38 +00:00
powerpc Correctly initialise the 2nd kernel segment, and don't 2004-12-29 09:41:40 +00:00
rpc Prefer C99's __func__ over GCC's __FUNCTION__. 2004-09-23 18:25:46 +00:00
security Exempt the superuser from mac_seeotheruids checks. 2005-01-03 12:08:18 +00:00
sparc64 Minor sync to alpha and i386: 2004-12-30 18:31:53 +00:00
sys Regen. 2005-01-03 00:47:23 +00:00
tools dheader and hheader were the same function, really, so rename one of 2004-12-31 21:12:17 +00:00
ufs white space 2004-12-14 21:35:00 +00:00
vm When allocating bio's in the swap_pager use M_WAITOK since the 2005-01-03 13:28:56 +00:00
Makefile