Commit Graph

1687 Commits

Author SHA1 Message Date
jhb
124d541ab4 Rename the macros for assertion flags passed to sx_assert() from SX_* to
SA_* to match mutexes and rwlocks.  The old flags still exist for
backwards compatiblity.

Requested by:	attilio
2007-05-19 21:26:05 +00:00
jhb
1b6732031f Document sx_xholder(). 2007-05-19 20:24:32 +00:00
jhb
f09057052a Document SX_RECURSE flag. 2007-05-19 16:38:10 +00:00
thompsa
9904d9b5ec Link the defunct MUTEX_PROFILING option to LOCK_PROFILING. 2007-05-13 22:56:58 +00:00
pav
36a46e2d9f Remove cred argument, which was removed from code by phk two years ago
PR:		docs/110200
Submitted by:	Jamie Jones <jamie@bishopston.net>
MFC after:	1 week
2007-05-12 13:10:55 +00:00
brueffer
a9b6a09c31 Bump date for previous commit, also new sentence -> new line. 2007-05-09 05:05:50 +00:00
jmg
fe80882b9b Document the additional fields, si_drv1 and si_drv2 that are available
for the user to use...

MFC after:	1 week
2007-05-06 18:20:16 +00:00
wkoszek
89c1863818 Add missing 'bp', since it should be passed as g_print_bio() argument.
Oked by:	pjd
2007-05-06 12:48:39 +00:00
pjd
4e8b8cd34e - Extend disk structure to allow to store disk's serial number, which can be
retrieved via GEOM::ident attribute.
- Bump disk(9) ABI version.

OK'ed by:	phk
2007-05-05 17:12:15 +00:00
jmg
4875bdb76e Document requirements to calling rman_init... (Hmmm, maybe we should make
these areguments to rman_init?)

MFC after:	1 week
2007-04-29 19:46:33 +00:00
jmg
eac96af0bf Complete removal of restriction about overlaps to rman_manage_region:
remove comment and man page verbage...

Document return values for rman_init and rman_manage_region..

MFC after:	1 week
2007-04-28 07:37:49 +00:00
brueffer
0beeeb1864 Xref linsysfs(5).
MFC after:	3 days
2007-04-20 15:38:06 +00:00
thompsa
496a4e8d2f Fix a compiler warning so hash.h can be included in the kernel. This changes
the args for hash32_stre and hash32_strne but there are no consumers in the
base system and openbgpd does not use it which the initial import was for.

Silence on:	hackers
2007-04-09 22:55:14 +00:00
pjd
98524ca017 Bump date. 2007-04-05 21:17:52 +00:00
pjd
7e73da14eb Add security.jail.mount_allowed sysctl, which allows to mount and
unmount jail-friendly file systems from within a jail.
Precisely it grants PRIV_VFS_MOUNT, PRIV_VFS_UNMOUNT and
PRIV_VFS_MOUNT_NONUSER privileges for a jailed super-user.
It is turned off by default.

A jail-friendly file system is a file system which driver registers
itself with VFCF_JAIL flag via VFS_SET(9) API.
The lsvfs(1) command can be used to see which file systems are
jail-friendly ones.

There currently no jail-friendly file systems, ZFS will be the first one.
In the future we may consider marking file systems like nullfs as
jail-friendly.

Reviewed by:	rwatson
2007-04-05 21:03:05 +00:00
maxim
a9ed2a9332 o Document vdropl(9) [1].
o Add an MLINK for vdropl().

Reviewed by:	des [1]
Obtained from:	wording from vgone(9)
2007-04-01 09:48:59 +00:00
jhb
b0b93a3c55 Optimize sx locks to use simple atomic operations for the common cases of
obtaining and releasing shared and exclusive locks.  The algorithms for
manipulating the lock cookie are very similar to that rwlocks.  This patch
also adds support for exclusive locks using the same algorithm as mutexes.

A new sx_init_flags() function has been added so that optional flags can be
specified to alter a given locks behavior.  The flags include SX_DUPOK,
SX_NOWITNESS, SX_NOPROFILE, and SX_QUITE which are all identical in nature
to the similar flags for mutexes.

Adaptive spinning on select locks may be enabled by enabling the
ADAPTIVE_SX kernel option.  Only locks initialized with the SX_ADAPTIVESPIN
flag via sx_init_flags() will adaptively spin.

The common cases for sx_slock(), sx_sunlock(), sx_xlock(), and sx_xunlock()
are now performed inline in non-debug kernels.  As a result, <sys/sx.h> now
requires <sys/lock.h> to be included prior to <sys/sx.h>.

The new kernel option SX_NOINLINE can be used to disable the aforementioned
inlining in non-debug kernels.

The size of struct sx has changed, so the kernel ABI is probably greatly
disturbed.

MFC after:	1 month
Submitted by:	attilio
Tested by:	kris, pjd
2007-03-31 23:23:42 +00:00
julian
3f8481620d Add some cross references to locking.9 from related pages. 2007-03-30 18:07:26 +00:00
julian
6f50156041 Connect the locking man page to the build.
Next step is to add it as a "See Also" to related man pages.
2007-03-30 17:56:19 +00:00
brueffer
5eebf0cb81 New sentence -> new line 2007-03-28 21:21:22 +00:00
maxim
95fe219a6a o Trim unneeded backslash. 2007-03-28 04:43:55 +00:00
maxim
4ac0fc62a4 o Actually add MLINKs for priv(9) functions. 2007-03-28 04:41:50 +00:00
n_hibma
0e3337c04f Clarify the definition of the watchdog kernel interface by moving a sentence up
to the sentence it references.
2007-03-27 21:23:20 +00:00
brueffer
a0403e7fbe Add MLINKs for priv(9) functions. 2007-03-27 21:20:57 +00:00
jhb
29a0e4d380 Rename the cv_*wait*() functions to _cv_*wait*() and change their second
argument from a mutex to a lock_object.  Add cv_*wait*() wrapper macros
that accept either a mutex, rwlock, or sx lock as the second argument and
convert it to a lock_object and then call _cv_*wait*().  Basically, the
visible difference is that you can now use rwlocks and sx locks with
condition variables using the same API as with mutexes.
2007-03-21 22:22:13 +00:00
delphij
d9b60cf6fa - Remove an unneeded comma
- Remove a redundant .Xc
 - Spell "Largely" as it should.
2007-03-19 07:49:11 +00:00
julian
f0adcfa59c More corrections, this time from Wojciech Koszek 2007-03-18 19:28:44 +00:00
julian
218f75032c Spelling and whitespace fixes from Dunne Whitty 2007-03-18 18:57:38 +00:00
brueffer
3a1f6a52ea Fix markup and reword a sentence to actually make sense. 2007-03-14 20:09:23 +00:00
julian
20a6b768be fix braino in markup. 2007-03-14 17:33:16 +00:00
bms
243428b8ef Remove obsolete polling members from documentation for struct ifnet.
Submitted by:	Aniruddha Bohra
MFC after:	5 days
2007-03-14 13:19:50 +00:00
julian
0f2fe5a5dd More suggestions from pjd. 2007-03-14 06:27:02 +00:00
julian
3abc629530 Some comments from pjd 2007-03-14 06:12:36 +00:00
julian
06c2afc13a Add locking.9
This is supposed to be a brief overview of the locking primatives.
It is not yet complete and contains many place-holders for information
I do not know.

The locking is getting so diverse that I've lost track of it all.
We need this page to keep outselves in sync with what the primitives do.

note.. not part of the build yet.
2007-03-14 04:00:24 +00:00
grog
c2c65e0dd6 Typo. 2007-03-13 03:56:16 +00:00
jhb
f5e3969340 Allow threads to atomically release rw and sx locks while waiting for an
event.  Locking primitives that support this (mtx, rw, and sx) now each
include their own foo_sleep() routine.
- Rename msleep() to _sleep() and change it's 'struct mtx' object to a
  'struct lock_object' pointer.  _sleep() uses the recently added
  lc_unlock() and lc_lock() function pointers for the lock class of the
  specified lock to release the lock while the thread is suspended.
- Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks
  (rw_sleep()), and sx locks (sx_sleep()).  msleep() still exists and
  is now identical to mtx_sleep(), but it is deprecated.
- Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP.
- Rewrite much of sleep.9 to not be msleep(9) centric.
- Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS'
  section.
- Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will
  warn if you try to pass a NULL wait channel.  The functions already have
  a KASSERT to that effect.
2007-03-09 22:41:01 +00:00
jhb
d1e477f592 Document SLEEPQ_PAUSE. 2007-03-09 18:06:36 +00:00
jhb
b3c329c313 Oof, it is not my day. Unswap the descriptions of EINTR and ERESTART. 2007-03-09 17:56:05 +00:00
jhb
59a4496dd2 Fix a typo in the last that claimed that only masked signals were caught. 2007-03-09 17:53:16 +00:00
jhb
dfba370731 Correct descriptions of EINTR and ERESTART errors. Masked signals don't
interrupt sleeps.  Rather, unmasked signals interrupt restarts and can
either interrupt the system call by having it return EINTR in userland or
force the system call to be restarted.
2007-03-09 17:52:10 +00:00
jhb
0090f87663 - Document cv_wait_unlock(9).
- Don't claim that the mutex is atomically reacquired when a cv_wait
  routine returns.  There's nothing atomic or magical about the lock
  reacquire.  The only magic is that we atomically drop the lock by
  placing the thread on the sleep queue before dropping the lock.
2007-03-09 16:59:27 +00:00
jhb
bf4e259df6 Place mtx_destroy() and rw_destroy() right after mtx_init() and rw_init()
to match sx(9) and condvar(9).
2007-03-09 16:54:03 +00:00
jhb
83009be85d - Sort functions in the order that rwlock(9) and mutex(9) use.
- Markup sx_unlock() as a function rather than saying it is a macro.
  The macro part is an implementation detail, and all the other sx_*lock()
  functions are actually macros, too.
- Use the same style as rwlock(9) and mutex(9) to markup sx_assert() and
  SX_SYSINIT() with respect to headers and kernel options.
- Add a missing MLINK.
2007-03-09 16:52:26 +00:00
jhb
24c3d87828 - Sort rwlock functions similar to the order in mutex(9).
- Add a missing MLINK.
2007-03-09 16:44:58 +00:00
jhb
4808fe374b Some minor tweaks and updates to bus_dma(9) including some additional notes
on the address filter and locking callback.

Reviewed by:	ru, scottl
2007-03-06 17:32:49 +00:00
mckusick
e5953785d0 Move macros describing extended attributes in UFS from
<sys/extattr.h> to <ufs/ufs/extattr.h>. Move description
of extended attributes in UFS from man9/extattr.9 to
man5/fs.5.

Note that restore will not compile until <sys/extattr.h>
and <ufs/ufs/extattr.h> have been updated.

Suggested by:	Robert Watson
2007-03-06 08:13:21 +00:00
grog
15babbae24 Another typo.
Spotted by:             ru
Another pointy hat to:  grog
2007-03-05 05:59:49 +00:00
grog
7df8cf04c7 Cosmetics: remove trailing white space, wrap over-long lines.
Pointy hat to:  grog
2007-03-05 00:27:30 +00:00
grog
3204d2429d Rearrange function descriptions in more logical order.
Be less alarmist about the dangers of abusing wakeup_one().

Requested by: kris, imp
2007-03-04 23:42:58 +00:00
ru
1b643fb074 Markup polishing. 2007-03-04 19:04:39 +00:00
davidc
39752f2e3b Add vfs_getopt.9 to the build, and add links for related functions. 2007-03-02 17:03:56 +00:00
davidc
39888a53af Document the mount option handling functions.
Reviewed By: ru
2007-03-02 17:03:06 +00:00
ru
5ec36bb996 Remove trailing spaces and make the date canonical. 2007-03-01 14:33:29 +00:00
piso
34053318ea Update bus_setup_intr() man page after recent newbus modification:
o uniform the driver_intr_t parameter name to 'ithread'

o delete any reference to INTR_FAST

o document a bit the difference between the filter and ithread
  argument

Reviewed by: mdoc-police (ru)
2007-02-28 23:13:41 +00:00
grog
2b6f6866c4 Furhter clarifications:
- the issues with wakeup_one are due to address space clashes between
  unrelated groups of threads.
- sleep() was removed in FreeBSD 2.2.
- date the page today, not 4 days ago.
- replace grammatically correct "woken" with "woken up" for
  consistency with the function name.
2007-02-27 23:09:31 +00:00
jhb
efdf2cb2b3 In FreeBSD 5.x+, sleep/wakeup operate on threads, not processes. 2007-02-27 16:32:55 +00:00
ru
b8587b0055 Fix markup and grammar bugs in recent revisions. 2007-02-27 16:21:01 +00:00
grog
128ac1d595 Update HISTORY.
Reviewed by:	dmr
2007-02-27 05:39:22 +00:00
grog
502eb2ec0e Add warning about deadlocks created by use of wakeup_one. 2007-02-27 02:51:41 +00:00
rwatson
34647636ba Add rw_wowned(9) symlink. 2007-02-26 19:09:36 +00:00
rwatson
35d54d13a9 Update rwlock(9) for rw_wowned(). 2007-02-26 19:07:41 +00:00
bms
b0363fd079 Document m_pulldown().
Obtained from:	MBUF issues in 4.4BSD IPv6/IPsec support (itojun)
2007-02-26 15:17:19 +00:00
mckusick
22aa654f0b Declare a `struct extattr' that defines the format of an extended
attribute. Also define some macros to manipulate one of these
structures. Explain their use in the extattr.9 manual page.

The next step will be to make a sweep through the kernel replacing
the old pointer manipulation code. To get an idea of how they would
be used, the ffs_findextattr() function in ufs/ffs/ffs_vnops.c is
currently written as follows:

/*
 * Vnode operating to retrieve a named extended attribute.
 *
 * Locate a particular EA (nspace:name) in the area (ptr:length), and return
 * the length of the EA, and possibly the pointer to the entry and to the data.
 */
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
    u_char **eap, u_char **eac)
{
	u_char *p, *pe, *pn, *p0;
	int eapad1, eapad2, ealength, ealen, nlen;
	uint32_t ul;

	pe = ptr + length;
	nlen = strlen(name);

	for (p = ptr; p < pe; p = pn) {
		p0 = p;
		bcopy(p, &ul, sizeof(ul));
		pn = p + ul;
		/* make sure this entry is complete */
		if (pn > pe)
			break;
		p += sizeof(uint32_t);
		if (*p != nspace)
			continue;
		p++;
		eapad2 = *p++;
		if (*p != nlen)
			continue;
		p++;
		if (bcmp(p, name, nlen))
			continue;
		ealength = sizeof(uint32_t) + 3 + nlen;
		eapad1 = 8 - (ealength % 8);
		if (eapad1 == 8)
			eapad1 = 0;
		ealength += eapad1;
		ealen = ul - ealength - eapad2;
		p += nlen + eapad1;
		if (eap != NULL)
			*eap = p0;
		if (eac != NULL)
			*eac = p;
		return (ealen);
	}
	return(-1);
}

After applying the structure and macros, it would look like this:

/*
 * Vnode operating to retrieve a named extended attribute.
 *
 * Locate a particular EA (nspace:name) in the area (ptr:length), and return
 * the length of the EA, and possibly the pointer to the entry and to the data.
 */
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
    u_char **eapp, u_char **eac)
{
	struct extattr *eap, *eaend;

	eaend = (struct extattr *)(ptr + length);
	for (eap = (struct extattr *)ptr; eap < eaend; eap = EXTATTR_NEXT(eap)){
		/* make sure this entry is complete */
		if (EXTATTR_NEXT(eap) > eaend)
			break;
		if (eap->ea_namespace != nspace ||
		    eap->ea_namelength != length ||
		    bcmp(eap->ea_name, name, length))
			continue;
		if (eapp != NULL)
			*eapp = eap;
		if (eac != NULL)
			*eac = EXTATTR_CONTENT(eap);
		return (EXTATTR_CONTENT_SIZE(eap));
	}
	return(-1);
}

Not only is it considerably shorter, but it hopefully more readable :-)
2007-02-26 06:18:53 +00:00
ru
1652cacd15 Remove the traces of vm_page_unmanage(). 2007-02-25 06:51:11 +00:00
jhb
401f7aaf8a Add a new kernel sleep function pause(9). pause(9) is for places that
want an equivalent of DELAY(9) that sleeps instead of spins.  It accepts
a wmesg and a timeout and is not interrupted by signals.  It uses a private
wait channel that should never be woken up by wakeup(9) or wakeup_one(9).

Glanced at by:	phk
2007-02-23 16:22:09 +00:00
rwatson
74bf41b149 Refine implementation notes for priv(9): clarify ABI comments, mention
updating Jail's list of privileges.
2007-02-21 10:32:03 +00:00
pjd
ed1bce702f VFS_VPTOFH(9) was replaced with VOP_VPTOFH(9).
VFS_VPTOFH.9 was repo-copied to VOP_VPTOFH.9.

Repo-copy done by:	joe
2007-02-16 14:27:59 +00:00
luigi
8627d150b8 remove some leftover text and update the text to match the current version
of the code.
2007-02-15 17:52:17 +00:00
rwatson
5b953c01a1 Expand history and authors section of mbuf.9 man page to discuss recent
transition to mbuma (FreeBSD 5.3) and the fact that mbufs are now limited
almost entirely to packet storage, with straight UMA zones being used for
most other network data types.
2007-02-15 14:44:46 +00:00
jhb
1563757ce2 MLINK for bus_dmamap_load_mbuf_sg(9) 2007-02-12 17:53:21 +00:00
brueffer
6657290d86 There is no isa(4) manpage, convert to normal text an join lines.
PR:		108980
Submitted by:	Yonatan
2007-02-09 21:12:21 +00:00
brueffer
a61400c5f8 Remove Xref to owi(4), it's dead and gone.
PR:		108980
Submitted by:	Yonatan
2007-02-09 20:32:58 +00:00
luigi
1da96e88d3 Document a little more the firmware subsystem.
Apart from minor cleanup of the text, it should document
in reasonable detail what the status of the code is.
RELENG_6 has some minor differences there in the way automatic
loading/unloading is handled, but hopefully this should be
fixed by MFC time.

The examples come from Max Laier and Sam Leffler.

MFC after: 1 week
2007-02-09 19:08:07 +00:00
rwatson
f7bb84a831 s/software was developed/documentation was written/
Suggested by:	ru
2007-01-31 09:40:31 +00:00
rwatson
8fe23ac3fe Add MLINKS for sf_buf.9. 2007-01-29 11:27:44 +00:00
joel
350e76dd56 Line break before "All rights reserved" in the license example.
Reveiwed by:	bde, rwatson
2007-01-28 20:51:04 +00:00
rwatson
4ffff2fde2 Update pmap_extract() implementation notes: we appear no longer to serialize
this call with Giant on any platform.
2007-01-28 16:23:55 +00:00
rwatson
8cd0ff6fa5 Add a rudimentary man page for sf_bufs, based on my rudimentary
understanding of sf_bufs.
2007-01-28 16:07:50 +00:00
rwatson
20643fd68c Fix minor type: "struct disk *" instead of "struct *disk".
MFC after:	3 days
2007-01-28 14:37:13 +00:00
ru
b640c5e1c4 Fix grammar [1] and formatting.
Submitted by:	pluknet AT gmail DOT com [1]
2007-01-27 23:06:00 +00:00
rwatson
6a7c7e266f Add a missing verb in describing MAP_PREFAULT_MADVISE. 2007-01-27 18:58:33 +00:00
rrs
af870dbd2e Reviewed by: rwatson
Approved by:	gnn

Add a new function hashinit_flags() which allows NOT-waiting
for memory (or waiting). The old hashinit() function now
calls hashinit_flags(..., HASH_WAITOK);
2007-01-15 15:06:28 +00:00
imp
9aa901e25f Julian says that he doesn't need the advertising clause, so out it goes. 2007-01-09 04:17:20 +00:00
jmg
116c92a81c Some how the d slipped out in the last commit, add it back...
Pointed out by:	mdoc-police (ru)
2006-12-29 22:30:10 +00:00
jmg
9a3d3a4e50 bump doc date and fix spelling...
Pointed out by:	mdoc-police (ru)
2006-12-28 22:28:28 +00:00
jmg
3f705f7765 document that locks must not be aquired in f_event... (and where they
can be safely aquired)

Reminded by:	kib (by LOR #193)
MFC:	3 days
2006-12-28 19:15:12 +00:00
pjd
bb91ae1dcc Document MTX_NOPROFILE flag. 2006-12-21 22:42:18 +00:00
rwatson
39ebd13c80 Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4),
ithread(9), msleep(9), ucred(9) from socket(9).

Partly suggested by:	julian
2006-12-16 10:32:10 +00:00
rwatson
1d3d170d84 Add a basic man page for the socket(9) kernel programming interface used
by the NFS client and server, netsmb, netncp, etc.

Reviewed by:	ru
Fixed by:	ru
2006-12-15 23:35:15 +00:00
n_hibma
c98f016084 Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
  WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
  explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
  lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
  Don't roll your own passive watchdog tickle as this would defeat the
  purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
  WD_ACTIVE means active patting of the watchdog by a userland process,
  not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
  (software watchdog) Remove a check for WD_ACTIVE as this does not make
  sense here. This reverts r1.181.
2006-12-15 21:44:49 +00:00
mpp
7cd24a641f Spelling fixes. 2006-12-14 14:33:13 +00:00
ru
d79a6bd715 - Fix prototype of bpf_filter().
- Document what passing it a zero buflen argument means.
2006-12-13 06:27:20 +00:00
julian
2df82cb38b Explicitly emphasize a facet of m_pullup() that some people seem to
frequently forget. i.e. that you can not keep using pointers to
within the old chain.
2006-12-08 23:44:30 +00:00
ru
5757d9c0fc Give up on waiting for a repo-copy (no answer in 20 days), and
commit my markup fixes.

OK'ed by:	kmacy
2006-12-01 17:46:25 +00:00
alfred
721b0a7001 Bump .Dd, (9 year jump!)
Requested by: ru
cvs: ----------------------------------------------------------------------
2006-11-29 20:24:56 +00:00
alfred
ac243d503e Do a better job of documenting uio_resid. 2006-11-29 19:10:53 +00:00
obrien
b891fb48a3 Clarify case body indention. 2006-11-26 21:22:49 +00:00
imp
ea66727862 devsw() was removed by phk:
revision 1.199
	date: 2004/09/24 08:30:57;  author: phk;  state: Exp;  lines: +0 -1
	Remove the cdevsw() function which is now unused.

(the log is wrong, it was really devsw that was removed).

# we really need to actually document the functions in sys/conf.h as well
# as things like d_open...
2006-11-25 22:36:09 +00:00
imp
9d7c37ad3d Clarify what non-zero return values mean. 2006-11-25 22:34:01 +00:00
imp
7aa1b5698e Make it clear that the device name may contain '/' characters to place
a device in a subdirectory.  Also explicitly state that the name is
constructed using fmt like printf would print it.

MFC After: 3 days
2006-11-24 13:10:30 +00:00
yar
d47577789b Add a guideline for naming new sysctl nodes.
Discussed in:	cvs-src (some time ago)
2006-11-23 14:28:19 +00:00
ceri
a6852e6ab6 Add .Xr to p_cansee.9, remove .Xr to intro.2.
Reviewed by:	ru
Approved by:	ru
2006-11-19 13:36:04 +00:00
ceri
2dc11e5d84 Add manuals for cr_cansee(9) and p_cansee(9).
Thanks to Ruslan for the time he spent reviewing these.

Reviewed by:	ru
Approved by:	ru
2006-11-19 13:35:03 +00:00
ceri
0f65401c2b Have the synopsis compile.
Pointed out by:	ru
2006-11-18 17:56:59 +00:00
pjd
63d82b700d Change sleepq_add(9) argument from 'struct mtx *' to 'struct lock_object *',
which allows to use it with different kinds of locks. For example it allows
to implement Solaris conditions variables which will be used in ZFS port on
top of sx(9) locks.

Reviewed by:	jhb
2006-11-16 01:02:00 +00:00
ru
a84e74c205 Fix build (forgotten MUTEX_PROFILING.9 -> LOCK_PROFILING.9). 2006-11-11 08:59:34 +00:00
ru
b3e1c0a791 Replace a reference to no longer existing MUTEX_PROFILING(9) with
a LOCK_PROFILING(9).
2006-11-11 08:41:39 +00:00
kmacy
99d39b00e0 remove man page for no longer extant option 2006-11-11 06:31:27 +00:00
kmacy
fdadbeef06 man page for new option 2006-11-11 06:29:36 +00:00
ru
abbf63751a Fix markup. 2006-11-06 14:28:09 +00:00
ru
044b6ca4cf Bump document date. 2006-11-06 14:26:43 +00:00
rwatson
7288104e20 Add a new priv(9) kernel interface for checking the availability of
privilege for threads and credentials.  Unlike the existing suser(9)
interface, priv(9) exposes a named privilege identifier to the privilege
checking code, allowing more complex policies regarding the granting of
privilege to be expressed.  Two interfaces are provided, replacing the
existing suser(9) interface:

suser(td)                 ->   priv_check(td, priv)
suser_cred(cred, flags)   ->   priv_check_cred(cred, priv, flags)

A comprehensive list of currently available kernel privileges may be
found in priv.h.  New privileges are easily added as required, but the
comments on adding privileges found in priv.h and priv(9) should be read
before doing so.

The new privilege interface exposed sufficient information to the
privilege checking routine that it will now be possible for jail to
determine whether a particular privilege is granted in the check routine,
rather than relying on hints from the calling context via the
SUSER_ALLOWJAIL flag.  For now, the flag is maintained, but a new jail
check function, prison_priv_check(), is exposed from kern_jail.c and used
by the privilege check routine to determine if the privilege is permitted
in jail.  As a result, a centralized list of privileges permitted in jail
is now present in kern_jail.c.

The MAC Framework is now also able to instrument privilege checks, both
to deny privileges otherwise granted (mac_priv_check()), and to grant
privileges otherwise denied (mac_priv_grant()), permitting MAC Policy
modules to implement privilege models, as well as control a much broader
range of system behavior in order to constrain processes running with
root privilege.

The suser() and suser_cred() functions remain implemented, now in terms
of priv_check() and the PRIV_ROOT privilege, for use during the transition
and possibly continuing use by third party kernel modules that have not
been updated.  The PRIV_DRIVER privilege exists to allow device drivers to
check privilege without adopting a more specific privilege identifier.

This change does not modify the actual security policy, rather, it
modifies the interface for privilege checks so changes to the security
policy become more feasible.

Sponsored by:		nCircle Network Security, Inc.
Obtained from:		TrustedBSD Project
Discussed on:		arch@
Reviewed (at least in part) by:	mlaier, jmg, pjd, bde, ceri,
			Alex Lyashkov <umka at sevcity dot net>,
			Skip Ford <skip dot ford at verizon dot net>,
			Antoine Brodin <antoine dot brodin at laposte dot net>
2006-11-06 13:37:19 +00:00
pjd
b7b8ba938c When the source and destination objects for VOP_RENAME() are the same,
POSIX advice to just ignore the operation and return 0.
We already handle this case in kern_rename(), but don't give bad example -
the source is not removed.
2006-11-04 23:59:51 +00:00
pjd
560cce7495 VOP_REMOVE() doesn't unlock vnodes nor decrease reference counts. 2006-11-04 23:58:15 +00:00
pjd
bd59c267bd Better English.
Submitted by:	ru
2006-11-01 12:44:28 +00:00
pjd
83bab600a9 - Document two new function g_alloc_bio() and g_duplicate_bio().
- Bump modification date.
- Update copyright years.
2006-11-01 12:42:14 +00:00
pjd
4a5a44a8c1 Document BIO_FLUSH request. 2006-11-01 12:34:35 +00:00
pjd
67c00d09c1 Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the disk
can handle BIO_FLUSH requests.

Sponsored by:	home.pl
2006-10-31 21:12:43 +00:00
maxim
d6a1b3d7dc o Fix incorrect function name (kobj_free -> kobj_delete).
Obtained from:	DragonFlyBSD
MFC after:	1 week
2006-10-28 10:57:35 +00:00
ru
3bdce07112 Bump document date for the previous change. 2006-10-21 16:08:21 +00:00
ru
f22f76ff63 Add missing "const" qualifiers.
Submitted by:	bde
2006-10-19 11:03:44 +00:00
danger
099609fe2f Expand "don't".
Approved by: trhodes (mentor), keramida (mentor)
MFC after: 3 days
2006-10-16 07:59:05 +00:00
pjd
e993001f47 Explain that using 64bit arguments on 32bit architectures with CTRx()
macros is a bad idea.
2006-10-15 12:40:27 +00:00
ru
7a91122c51 Sort MAN and MLINKS lists. 2006-10-05 12:40:44 +00:00
jmg
84361990fc sort MLINKS properly
Pointed out by:	ru
2006-10-05 08:55:35 +00:00
ru
5c6b87d170 Polish markup and some wording.
Discussed with:	jmg (also reviewed by him)
2006-10-05 08:42:07 +00:00
jmg
a4a45e7329 forgot to update the date... 2006-10-04 20:17:14 +00:00
jmg
d5ba3e12e8 add man page talking about how to interface w/ the kqueue system so others
can write additional filters...

mdoc police please!
2006-10-04 20:16:23 +00:00
andre
8686e7b38a Connect hash(9) to the build and add MLINKS for all functions.
Pointed out by:	ru
2006-10-02 11:51:25 +00:00
kib
ff66a30202 Remove long untrue note about storing state information inside free items.
OKed by:	rwatson, tegge
Approved by:	pjd (mentor)
MFC after:	1 week
2006-10-02 07:27:00 +00:00
ru
e06dc5d45d Revise markup. 2006-09-30 17:09:59 +00:00
imp
5d28f75c8d Document config_intrhook.
MFC After: 250 millifortnights
2006-09-25 20:12:13 +00:00
ru
5b7cf06c1d Markup fixes. 2006-09-18 15:24:20 +00:00
ru
449baf51a1 Correct the list of bus_space_*_stream_[1248] functions in the
STREAM FUNCTIONS section:

- Really list only and all *_stream_* functions.
- Don't list their arguments (it's pointless).
2006-09-18 14:31:03 +00:00
imp
00a7738e90 Bump date, per ru@ 2006-09-12 15:48:22 +00:00
imp
e2689a926c Add note about identify routines needing to use BUS_ADD_CHILD rather
than device_add_child.  The latter is only for busses adding children,
not children drivers telling a bus that they have an instance...
2006-09-11 22:17:18 +00:00
ru
72bebbd596 Document that bits are numbered from 1 in the %b format argument. 2006-09-08 14:05:03 +00:00
jmg
6c51ecb8c4 now that we have bus_get_dma_tag, document it's requirement in
bus_dma_tag_create
2006-09-03 00:31:21 +00:00
ru
1c0796f6da - Fix some bugs in the descriptions of DMA sync operations.
- Tweak some text so it's less likely to confuse the reader.

OK'ed by:	scottl
2006-08-31 19:38:52 +00:00
pjd
e6c176c58b Update. 2006-08-26 11:32:40 +00:00
pav
f58a78e801 - Talk about memory allocation in interrupt context
- Add uam to see also

Submitted by:	Devon H. O'Dell <devon.odell@coyotepoint.com>
2006-08-25 19:04:42 +00:00
kib
4bb293498f Note that LK_UPGRADE may drop the shared lock before taking the
exclusive one.

Reviewed and edited by:	tegge
MFC after:	3 days
Approved by:	pjd (mentor)
2006-08-21 12:45:19 +00:00
obrien
f6dcb46835 Add an extension to the UINT & ULONG types. The XINT & XLONG types behave
the same, except sysctl(8) will print out the values in hex.
2006-08-12 23:33:10 +00:00
obrien
50d886a1e8 Fix bug preventing the proper displaying of the CTLFLAG_WR option. 2006-08-12 20:09:33 +00:00
maxim
06359e9e2a o GC MT_FTABLE removed in rev. 1.192 mbuf.h.
o Correct MT_HEADER define.
2006-07-24 07:32:23 +00:00
flz
7a20d1a680 Fix typo (s/writeer/writer/). 2006-07-17 10:39:20 +00:00
maxim
dd90b41682 o Sort sx(9) MLINKS. 2006-07-12 19:12:16 +00:00
pjd
07ad858fee Document sx_xlocked(9).
Submitted by:	ssouhlal
2006-07-12 15:40:35 +00:00
joel
6b04f8685a Gah. Replace another instance of "Developer's Handbook" with
"Architecture Handbook".
2006-07-11 16:26:40 +00:00
joel
b0039005ce The TrustedBSD MAC Framework is documented in the Architecture handbook,
not in the Developers handbook.

Submitted by:	Samy Al Bahra
2006-07-10 20:51:30 +00:00