Commit Graph

2410 Commits

Author SHA1 Message Date
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
wiz
e917ca9ede Use more markup. Add "flag" in a sentence. 2014-02-22 11:28:18 +00:00
wiz
be49b9a869 Mark up NULL with Dv. 2014-02-22 11:08:05 +00:00
hannken
6935b8d9a0 Update arguments of vrecycle(), description of getnewvnode() and
the vnode flags.
2014-02-22 10:08:12 +00:00
hannken
8a81f374a4 Update the description of vfs_busy() and vfs_unbusy(). 2014-02-22 10:05:54 +00:00
wiz
0ccfefc58a Mark up author name with An. 2014-02-07 16:57:05 +00:00
hannken
97834f7ba0 Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.

Discussed on tech-kern@

Welcome to 6.99.31
2014-02-07 15:29:20 +00:00
skrll
3468e012de Fix eraseo from yesterday 2014-01-23 16:35:20 +00:00
hannken
04c776e5c8 Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.

Discussed on tech-kern@

Welcome to 6.99.30
2014-01-23 10:13:55 +00:00
skrll
deae578450 Update a little (don't trust myself to update anymore). Fix a macro
problem while I'm here.
2014-01-22 23:43:13 +00:00
hannken
1139274440 Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.

Discussed on tech-kern@

Welcome to 6.99.29
2014-01-17 10:55:01 +00:00
njoly
32806908ee Kill one more trailing space in function argument. 2014-01-06 14:57:10 +00:00
njoly
fa8cf4e111 Remove extra trailing spaces in functions arguments. 2014-01-06 13:59:00 +00:00
wiz
d778b71bd0 New sentence, new line. 2014-01-04 15:41:59 +00:00
wiz
2903717cc7 Sort sections. 2014-01-04 15:40:25 +00:00
pgoyette
2a3b433915 Clear up documentation for crypto_unregister() vs crypto_unregister_all()
since there is no definition of CRYPTO_ALGORITHM_ALL!

XXX The description of the arguments for crypto_register() needs further
updates, too, but that will be left for another day.
2013-12-31 01:55:05 +00:00
rmind
d23bbd30da Update xcall(9). 2013-11-26 20:48:25 +00:00
rmind
86e1c41ade Mention kmem_intr(9) routines. 2013-11-26 20:47:26 +00:00
jruoho
de32156f36 Don't be so pessimistic. 2013-11-20 18:13:16 +00:00
msaitoh
06a7717d3b Remove extra period. 2013-10-30 04:16:44 +00:00
hannken
65b1f85ab6 Vnode API cleanup pass 1.
- Make these defines and functions private to vfs_vnode.c:

  VC_MASK, VC_LOCK, DOCLOSE, VI_IANCTREDO and VI_INACTNOW
  vclean() and vrelel()

- Remove the long time unused lwp argument from vrecycle().

- Remove vtryget(), it is responsible for ugly hacks and doesn't
  look that effective.

Presented on tech-kern.

Welcome to 6.99.25
2013-10-29 09:53:51 +00:00
gson
6060a7c9d9 Don't capitalize "it" in the middle of a sentence. 2013-10-17 13:17:50 +00:00
skrll
8225e7146f s/the the/the/
Bump date.
2013-09-26 16:18:52 +00:00
rmind
c19ced7da2 G/C npf_ncode(9) 2013-09-19 17:29:06 +00:00
pooka
55184a0493 fix proto 2013-09-17 20:57:45 +00:00
wiz
4119c8fbd9 Sort sections: consistently put CODE REFERENCES directly before SEE ALSO. 2013-09-17 19:58:03 +00:00
skrll
5f79def1a6 Typo. Bump date. 2013-09-04 10:17:58 +00:00
wiz
19c47e9aa9 Remove PFIL_HOOKS references, code was unifdefed.
From David H. Gutteridge in PR 48146.

Bump date.
2013-08-22 07:17:11 +00:00
soren
d75af7e216 Build orphaned man pages. 2013-08-06 22:33:59 +00:00
wiz
c690a93593 Remove superfluous Pp. 2013-07-25 21:29:00 +00:00
tcort
ce9722db69 edid.9: fixes for example code
- 'struct edid_info' in edidvar.h uses 'struct videomode' so
videomode.h needs to be included too.
- edid_print takes a pointer to 'struct edid_info' so add the & operator.

OK by wiz@
2013-07-25 14:10:30 +00:00
njoly
a8ad9a70f6 Kill a few trailing spaces. 2013-07-21 10:14:55 +00:00
wiz
a5684d07dd Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
riastradh
4821cee19b Rework cprng(9) man page to reflect the current state of affairs.
- Remove defunct cprng_strong_getflags/setflags.
- Remove defunct cprng_strong_ready.
- Document CPRNG_HARD.
- Omit cprng_strong structure, which is now opaque.
- Specify what can sleep and under what conditions.
- Be a little more consistent about some markup.

This is not the whole story (select/kqueue stuff for /dev/random is
still omitted), and I plan to change it some more (to split
cprng_strong into one routine that unconditionally guarantees as many
bytes as you asked, and another routine that may block or return
partial reads), but this will do until I find the time for those.
2013-07-18 14:35:30 +00:00
wiz
0bf4e62623 New sentence, new line. Some whitespace. Bump date for previous. 2013-07-18 06:39:18 +00:00
matt
6e660710b6 Some constification.
Add kcpuset_clone, kcpuset_insersection, kcpuset_remove,
kcpuset_ffs, kcpuset_ffs_intersecting,
kcpuset_atomicly_merge, kcpuset_atomicly_intersect, kcpuset_atomicly_remove
2013-07-17 22:36:26 +00:00
riastradh
82db4b9858 Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.
consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
2013-06-24 04:21:19 +00:00
riastradh
e02ea39378 Fix dangling sentence vestige in cprng(9). 2013-06-23 02:39:32 +00:00
riastradh
6290b0987e Rework rndsink(9) abstraction and adapt arc4random(9) and cprng(9).
rndsink(9):
- Simplify API.
- Simplify locking scheme.
- Add a man page.
- Avoid races in destruction.
- Avoid races in requesting entropy now and scheduling entropy later.

Periodic distribution of entropy to sinks reduces the need for the
last one, but this way we don't need to rely on periodic distribution
(e.g., in a future tickless NetBSD).

rndsinks_lock should probably eventually merge with the rndpool lock,
but we'll put that off for now.

cprng(9):
- Make struct cprng_strong opaque.
- Move rndpseudo.c parts that futz with cprng guts to subr_cprng.c.
- Fix kevent locking.  (Is kevent locking documented anywhere?)
- Stub out rump cprng further until we can rumpify rndsink instead.
- Strip code to grovel through struct cprng_strong in fstat.
2013-06-23 02:35:23 +00:00
ryo
dedc54f76f add m_copyup(9) obtained from FreeBSD (manual only) 2013-06-17 09:58:21 +00:00
wiz
7f89a551ef Bump date for previous. 2013-06-10 06:41:58 +00:00
mrg
018f384e6a mark several interfaces as internal, most of which have other exported
APIs for their use.
2013-06-10 05:11:20 +00:00
njoly
527067ce64 Kill extra El macro. 2013-05-24 14:41:32 +00:00
wiz
c57d5b5313 Fix xrefs. 2013-05-24 10:01:15 +00:00
christos
178731dab0 add a man page for ts2timo. 2013-05-22 16:01:44 +00:00
wiz
e0a986bcb9 Make nanotime and getnanotime prototypes match.
Also, the BUGS section doesn't describe something fixable, so make
it a CAVEATS section instead.
Bump date.
2013-05-13 12:07:44 +00:00
riastradh
1bb03de69a First draft of a long-awaited man page for genfs_rename(9). 2013-05-01 18:56:48 +00:00
yamt
c0a3e99683 fix prototype 2013-04-24 00:56:14 +00:00
yamt
f0a3996216 fix return value 2013-04-24 00:51:58 +00:00
njoly
4bfb4fdd36 Fix section (3 -> 2) in openat xref. 2013-04-09 13:29:07 +00:00