NetBSD/share/man/man9
hannken 2b6ec89863 The current implementation of vn_lock() is racy. Modification of
the vnode operations vector for active vnodes is unsafe because it
is not known whether deadfs or the original file system will be
called.

- Pass down LK_RETRY to the lock operation (hint for deadfs only).

- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.

- Change all other lock operations to check for dead vnode once
  the vnode is locked and unlock and return ENOENT in this case.

With these changes in place vnode lock operations will never succeed
after vclean() has marked the vnode as VI_XLOCK and before vclean()
has changed the operations vector.

Adresses PR kern/37706 (Forced unmount of file systems is unsafe)

Discussed on tech-kern.

Welcome to 6.99.33
2014-02-27 16:51:37 +00:00
..
man9.i386 Remove extra trailing spaces in functions arguments. 2014-01-06 13:59:00 +00:00
man9.sun3
man9.x86 Don't be so pessimistic. 2013-11-20 18:13:16 +00:00
accept_filter.9
accf_data.9
accf_http.9
altq.9
arp.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
audio.9 update audio(9) docs for audiomp changes 2011-11-23 23:11:56 +00:00
autoconf.9 Fix argument order for config_attach_loc in autoconf(9). 2013-03-13 00:09:21 +00:00
bcdtobin.9
bcmp.9
bcopy.9
bintime_add.9
bluetooth.9
boothowto.9
bpf.9
buffercache.9
bufq.9
bus_dma.9 Remove extra period. 2013-10-30 04:16:44 +00:00
bus_space.9 Added missing newline, as proposed by Petri Laakso in PR kern/46721. 2012-07-19 17:48:55 +00:00
byteorder.9
bzero.9
callback.9
callout.9 Note that a callout should be stopped before being destroyed. 2013-02-03 08:19:58 +00:00
cardbus.9 Kill one more trailing space in function argument. 2014-01-06 14:57:10 +00:00
cnmagic.9
condvar.9
config.9
cons.9
copy.9
coredump_write.9
cprng.9 Rework cprng(9) man page to reflect the current state of affairs. 2013-07-18 14:35:30 +00:00
cpu_configure.9
cpu_coredump.9
cpu_dumpconf.9
cpu_idle.9
cpu_initclocks.9
cpu_lwp_fork.9
cpu_need_resched.9 - document RESCHED_KPREEMPT 2011-10-24 07:30:29 +00:00
cpu_number.9
cpu_reboot.9
cpu_rootconf.9 Serial comma, whitespace fixes, sort SEE ALSO. 2012-07-29 18:51:48 +00:00
cpu_startup.9
cpu_switchto.9 Sort SEE ALSO. 2011-06-03 08:06:54 +00:00
cpufreq.9 Revert the revision 1.5 in cpufreq(9). Instead, document that the KPI can 2011-10-27 05:25:07 +00:00
csf.9
CTASSERT.9
ctod.9 Xref param(3). 2011-04-08 07:55:04 +00:00
curproc.9
ddc.9 New sentence, new line. 2014-01-04 15:41:59 +00:00
delay.9 Xref delay(9) and kpause(9) with each other. 2011-07-20 05:20:54 +00:00
deviter.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
disk.9
disklabel.9
dmover.9
do_setresuid.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
dofileread.9
dopowerhooks.9
doshutdownhooks.9
driver.9 And struct cfdata => cfdata_t too... 2011-07-23 16:04:35 +00:00
edid.9 Sort sections. 2014-01-04 15:40:25 +00:00
errno.9
ethersubr.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
evcnt.9
extattr.9
extent.9 s/Jukly/July/ 2012-07-14 10:24:59 +00:00
fetch.9
file.9
fileassoc.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
filedesc.9
firmload.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
flash.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
fork1.9
fsetown.9
fstrans.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
genfs_rename.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
genfs.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
getiobuf.9 Improve wording. 2011-04-28 17:09:19 +00:00
hardclock.9
hash.9
hashinit.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
humanize_number.9
hz.9
ieee80211_crypto.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_input.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_ioctl.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_node.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_output.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_proto.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211_radiotap.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ieee80211.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
iic.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
imax.9
in4_cksum.9
in_getifa.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
inittodr.9
intro.9 Fix typo, unless `ro raising' is something I don't know about. 2013-01-19 00:14:11 +00:00
ioasic.9 Reference <sys/bus.h> instead of <machine/bus.h>. 2011-07-01 17:34:44 +00:00
ioctl.9 Use more markup. 2013-03-06 22:07:54 +00:00
ipkdb.9
isa.9 MI drivers should #include <sys/bus.h> not <machine/bus.h>. 2011-05-30 01:48:40 +00:00
isapnp.9 MI drivers should #include <sys/bus.h> not <machine/bus.h>. 2011-05-30 01:48:40 +00:00
itimerfix.9
KASSERT.9 Document new *ASSERTMSG() prototype, and update KASSERT(9). 2011-09-27 00:36:49 +00:00
kauth.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
kcopy.9
kcpuset.9 Kill a few trailing spaces. 2013-07-21 10:14:55 +00:00
kfilter_register.9
kmem.9 Mention kmem_intr(9) routines. 2013-11-26 20:47:26 +00:00
knote.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
kpause.9 Don't capitalize "it" in the middle of a sentence. 2013-10-17 13:17:50 +00:00
kpreempt.9
kprintf.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
kthread.9 Rename slightly misleading KTHREAD_JOINABLE to KTHREAD_MUSTJOIN. 2011-08-07 14:03:15 +00:00
linedisc.9
lock.9
log.9
ltsleep.9 Fix word duplication in previous. 2012-01-28 13:26:12 +00:00
LWP_CACHE_CREDS.9
m_tag.9
Makefile G/C npf_ncode(9) 2013-09-19 17:29:06 +00:00
makeiplcookie.9
malloc.9
mb.9
mbuf.9 add m_copyup(9) obtained from FreeBSD (manual only) 2013-06-17 09:58:21 +00:00
mca.9 Fix a few file system paths to use Pa macro. 2013-03-15 19:32:30 +00:00
memcmp.9
memcpy.9 Bump date for previous. Move RCS Id to top of file. 2012-01-02 18:07:21 +00:00
memmove.9
memoryallocators.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
memset.9
mi_switch.9
microseq.9
microtime.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
microuptime.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
module.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
mstohz.9 Use Aq instead of \*[Lt]...\*[Gt] 2011-10-20 10:36:42 +00:00
mutex.9 Typo. Bump date. 2013-09-04 10:17:58 +00:00
namecache.9 Mark up author name with An. 2014-02-07 16:57:05 +00:00
namei.9 Fix section (3 -> 2) in openat xref. 2013-04-09 13:29:07 +00:00
nullop.9
opencrypto.9 Clear up documentation for crypto_unregister() vs crypto_unregister_all() 2013-12-31 01:55:05 +00:00
optstr.9
panic.9 * decapitalize NAME section's line 2012-06-12 21:06:43 +00:00
pathbuf.9
pci_configure_bus.9 extent_create does not take storage type argument anymore. 2012-07-14 05:32:17 +00:00
pci_intr.9 Update manual page for constification of pci_attach_args. 2011-04-05 14:57:33 +00:00
pci.9 document pci_aprint_devinfo(9) (not the _fancy variant yet because 2012-01-30 19:20:13 +00:00
pckbport.9
pcmcia.9 MI drivers should #include <sys/bus.h> not <machine/bus.h>. 2011-05-30 01:48:40 +00:00
pcq.9 Replace pcq(9) with the implementation from ad@ and minor changes by me. 2012-01-22 02:55:47 +00:00
pcu.9 Fix eraseo from yesterday 2014-01-23 16:35:20 +00:00
percpu.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
pfil.9 Remove PFIL_HOOKS references, code was unifdefed. 2013-08-22 07:17:11 +00:00
physio.9
pmap.9 fix a description of PMAP_PREFER argument. 2012-02-16 12:10:10 +00:00
pmatch.9
pmc.9 Adjust cpu_switch(9) -> cpu_switchto(9) in xrefs. 2012-02-22 19:04:38 +00:00
pmf.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
pool_cache.9 Document pool_cache_sethardlimit(9), the faithful friend of 2011-11-15 00:32:34 +00:00
pool.9 Document pool_sethardlimit. 2011-11-14 02:38:05 +00:00
powerhook_establish.9
ppi.9
ppsratecheck.9
preempt.9
proc_find.9
pserialize.9 Fix .Xr to membar_ops(3), not membar(9). Spotted by wiz@. 2011-08-07 12:29:24 +00:00
putter.9
radio.9
ras.9
rasops.9 Use more markup. Increase table width since longest string changed. 2012-01-13 23:12:32 +00:00
ratecheck.9
resettodr.9
rnd.9 More updates, since the structure name has changed from rndsourc_element_t 2012-07-12 00:07:36 +00:00
rndsink.9 Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset. 2013-06-24 04:21:19 +00:00
roundup.9 Fix a typo. 2011-06-01 11:19:19 +00:00
rssadapt.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
rt_timer.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
RUN_ONCE.9
rwlock.9
scanc.9 fix prototype 2013-04-24 00:56:14 +00:00
sched_4bsd.9
sched_m2.9
scsipi.9
secmodel_bsd44.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
secmodel_extensions.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
secmodel_overlay.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
secmodel_securelevel.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
secmodel_suser.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
secmodel.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
select.9
SET.9
setbit.9 more xref. 2012-12-04 18:03:37 +00:00
setjmp.9
shutdownhook_establish.9
signal.9
skpc.9 Casing. 2011-11-01 23:17:59 +00:00
sockopt.9
softintr.9 dependant -> dependent 2011-06-30 20:09:15 +00:00
spl.9
splraiseipl.9
STACK.9 Xref param(3). 2011-04-08 07:55:04 +00:00
store.9
suspendsched.9
sysctl.9 - add the bool type for IMMEDIATE flag. 2011-12-04 18:34:20 +00:00
sysmon_envsys.9 Fix a few file system paths to use Pa macro. 2013-03-15 19:32:30 +00:00
sysmon_pswitch.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
sysmon_taskq.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
tc.9 Reference <sys/bus.h> instead of <machine/bus.h>. 2011-07-01 17:34:44 +00:00
tcp_congctl.9
time_second.9 Tidy up the SEE ALSO section. Namely, do not duplicate a big list of xrefs 2011-03-13 05:03:21 +00:00
timecounter.9
todr.9
ts2timo.9 Kill extra El macro. 2013-05-24 14:41:32 +00:00
tvtohz.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
ubc.9 Describe ubc_purge(9). 2011-06-14 00:19:20 +00:00
ucas.9 Sort SEE ALSO. 2011-10-27 07:23:23 +00:00
ucom.9 Clarify description of ->ucom_read method. 2012-08-05 01:58:36 +00:00
uiomove.9
usbd_status.9 Fix typo and remove superfluous Pp. 2012-05-13 11:57:05 +00:00
usbdi.9 s/the the/the/ 2013-09-26 16:18:52 +00:00
userret.9
uvm_km.9 Sync (mostly, not fully) uvm_km(9) and uvm_map(9) man pages with reality. 2011-06-03 18:43:38 +00:00
uvm_map.9 Sync (mostly, not fully) uvm_km(9) and uvm_map(9) man pages with reality. 2011-06-03 18:43:38 +00:00
uvm.9 Document atop(9), ptoa(9), round_page(9) and trunc_page(9). 2012-07-02 21:10:30 +00:00
vattr.9
vcons.9
veriexec.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
vfs_hooks.9
vfs.9
vfsops.9 Bump date for previous. 2012-02-13 13:23:29 +00:00
vfssubr.9 Mark up NULL with Dv. 2014-02-22 11:08:05 +00:00
video.9 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
vme.9 Reference <sys/bus.h> instead of <machine/bus.h>. 2011-07-01 17:34:44 +00:00
vmem.9 Bump date for previous. 2013-01-29 22:02:17 +00:00
vnfileops.9
vnode.9 Use more markup. Add "flag" in a sentence. 2014-02-22 11:28:18 +00:00
vnodeops.9 The current implementation of vn_lock() is racy. Modification of 2014-02-27 16:51:37 +00:00
vnsubr.9 The current implementation of vn_lock() is racy. Modification of 2014-02-27 16:51:37 +00:00
wdc.9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
workqueue.9 update the description of the priority argument. 2011-10-24 07:27:09 +00:00
wscons.9
wsdisplay.9
wsfont.9 New sentence, new line. Use more markup. Bump date for previous. 2012-01-13 23:09:51 +00:00
wskbd.9
wsmouse.9
xcall.9 Update xcall(9). 2013-11-26 20:48:25 +00:00