<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/fs/devfs/devfs.h, branch releng/6.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2006-10-30T15:40:53Z</updated>
<entry>
<title>MFC</title>
<updated>2006-10-30T15:40:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2006-10-30T15:40:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5660725c1b775abcb4f6181efa28c077b66dbec8'/>
<id>urn:sha1:5660725c1b775abcb4f6181efa28c077b66dbec8</id>
<content type='text'>
rev. 1.31  src/sys/fs/devfs/devfs.h
rev. 1.48  src/sys/fs/devfs/devfs_devs.c
rev. 1.3   src/sys/fs/devfs/devfs_int.h
rev. 1.136 src/sys/fs/devfs/devfs_vnops.c

Properly lock the vnode around vgone() calls. Unlock the vnode in
devfs_close() while calling into the driver d_close() routine.

Approved by:	re (hrs)
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2006-10-30T15:33:38Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2006-10-30T15:33:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2c801ce044bdcbc3542ecfa1ea75b7ec728fd6d2'/>
<id>urn:sha1:2c801ce044bdcbc3542ecfa1ea75b7ec728fd6d2</id>
<content type='text'>
rev. 1.30   src/sys/fs/devfs/devfs.h
rev. 1.47   src/sys/fs/devfs/devfs_devs.c
rev. 1.51   src/sys/fs/devfs/devfs_vfsops.c
rev. 1.134  src/sys/fs/devfs/devfs_vnops.c

Resolve the devfs deadlock caused by LOR between devfs_mount-&gt;dm_lock
and vnode lock in devfs_allocv. Add hold counters for both devfs_mount
and devfs_dirent, and DE_DOOMED flag for devfs_dirent.

Approved by:	re (hrs)
PR:             kern/102335
</content>
</entry>
<entry>
<title>MFC rev. 1.29.</title>
<updated>2006-10-30T15:23:00Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2006-10-30T15:23:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=981cb09b83427205087a5add91a12dd1699fd188'/>
<id>urn:sha1:981cb09b83427205087a5add91a12dd1699fd188</id>
<content type='text'>
Remove unused prototypes.

Approved by:	re (hrs)
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2005-09-26T14:36:54Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-09-26T14:36:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=02eb92cc0eb8efadf6e5fc5ac65a45a8b92d15bc'/>
<id>urn:sha1:02eb92cc0eb8efadf6e5fc5ac65a45a8b92d15bc</id>
<content type='text'>
	DEVFS fixes of many sorts.

Approved by:	re@ (scottl)
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>2005-09-18T07:10:57Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-09-18T07:10:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5dc21d2be6f7413a9bb39502733d07949ef8f777'/>
<id>urn:sha1:5dc21d2be6f7413a9bb39502733d07949ef8f777</id>
<content type='text'>
	Various fixes for DEVFS, in particular "devfs ruleset already running".

Approved by:	re@ (scottl)
</content>
</entry>
<entry>
<title>Remove kernelside support for devfs rules filtering on major numbers.</title>
<updated>2005-03-08T19:51:27Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-03-08T19:51:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f5af7353c0a91fe2e14e72b9193b2c10ae96c043'/>
<id>urn:sha1:f5af7353c0a91fe2e14e72b9193b2c10ae96c043</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reap more benefits from DEVFS:</title>
<updated>2005-02-22T15:51:07Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2005-02-22T15:51:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=aa2f6ddc3f1fb3a7faefe48352cd270f94054d9b'/>
<id>urn:sha1:aa2f6ddc3f1fb3a7faefe48352cd270f94054d9b</id>
<content type='text'>
List devfs_dirents rather than vnodes off their shared struct cdev, this
saves a pointer field in the vnode at the expense of a field in the
devfs_dirent.  There are often 100 times more vnodes so this is bargain.
In addition it makes it harder for people to try to do stypid things like
"finding the vnode from cdev".

Since DEVFS handles all VCHR nodes now, we can do the vnode related
cleanup in devfs_reclaim() instead of in dev_rel() and vgonel().
Similarly, we can do the struct cdev related cleanup in dev_rel()
instead of devfs_reclaim().

	rename idestroy_dev() to destroy_devl() for consistency.

	Add LIST_ENTRY de_alias to struct devfs_dirent.
	Remove v_specnext from struct vnode.
	Change si_hlist to si_alist in struct cdev.
	String new devfs vnodes' devfs_dirent on si_alist when
	we create them and take them off in devfs_reclaim().

	Fix devfs_revoke() accordingly.  Also don't clear fields
	devfs_reclaim() will clear when called from vgone();

	Let devfs_reclaim() call dev_rel() instead of vgonel().

	Move the usecount tracking from dev_rel() to devfs_reclaim(),
	and let dev_rel() take a struct cdev argument instead of vnode.

	Destroy SI_CHEAPCLONE devices in dev_rel() (instead of
	devfs_reclaim()) when they are no longer used.   (This
	should maybe happen in devfs_close() instead.)
</content>
</entry>
<entry>
<title>Do the dreaded s/dev_t/struct cdev */</title>
<updated>2004-06-16T09:47:26Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-06-16T09:47:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=89c9c53da05197f657dfe8e0bdda6941a2e9a0d4'/>
<id>urn:sha1:89c9c53da05197f657dfe8e0bdda6941a2e9a0d4</id>
<content type='text'>
Bump __FreeBSD_version accordingly.
</content>
</entry>
<entry>
<title>White-space align a struct definition.</title>
<updated>2004-02-15T21:43:08Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2004-02-15T21:43:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f82dfde7e5fd346eae3c838ce718e556e6736056'/>
<id>urn:sha1:f82dfde7e5fd346eae3c838ce718e556e6736056</id>
<content type='text'>
Move a SYSINIT to the file where it belongs.
</content>
</entry>
<entry>
<title>Modify the MAC Framework so that instead of embedding a (struct label)</title>
<updated>2003-11-12T03:14:31Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2003-11-12T03:14:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=eca8a663d442468f64e21ed869817b9048ab5a7b'/>
<id>urn:sha1:eca8a663d442468f64e21ed869817b9048ab5a7b</id>
<content type='text'>
in various kernel objects to represent security data, we embed a
(struct label *) pointer, which now references labels allocated using
a UMA zone (mac_label.c).  This allows the size and shape of struct
label to be varied without changing the size and shape of these kernel
objects, which become part of the frozen ABI with 5-STABLE.  This opens
the door for boot-time selection of the number of label slots, and hence
changes to the bound on the number of simultaneous labeled policies
at boot-time instead of compile-time.  This also makes it easier to
embed label references in new objects as required for locking/caching
with fine-grained network stack locking, such as inpcb structures.

This change also moves us further in the direction of hiding the
structure of kernel objects from MAC policy modules, not to mention
dramatically reducing the number of '&amp;' symbols appearing in both the
MAC Framework and MAC policy modules, and improving readability.

While this results in minimal performance change with MAC enabled, it
will observably shrink the size of a number of critical kernel data
structures for the !MAC case, and should have a small (but measurable)
performance benefit (i.e., struct vnode, struct socket) do to memory
conservation and reduced cost of zeroing memory.

NOTE: Users of MAC must recompile their kernel and all MAC modules as a
result of this change.  Because this is an API change, third party
MAC modules will also need to be updated to make less use of the '&amp;'
symbol.

Suggestions from:	bmilekic
Obtained from:		TrustedBSD Project
Sponsored by:		DARPA, Network Associates Laboratories
</content>
</entry>
</feed>
