<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/fs/devfs/devfs_int.h, branch releng/15.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>http://cgit.freebsd.org/src/atom?h=releng%2F15.0</id>
<link rel='self' href='http://cgit.freebsd.org/src/atom?h=releng%2F15.0'/>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<updated>2023-09-21T16:51:12Z</updated>
<entry>
<title>devfs: add integrity asserts for cdevp_list</title>
<updated>2023-09-21T16:51:12Z</updated>
<author>
<name>Jason A. Harmening</name>
<email>jah@FreeBSD.org</email>
</author>
<published>2023-09-19T13:44:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=67864268da53b792836f13be10299de8cd62997e'/>
<id>urn:sha1:67864268da53b792836f13be10299de8cd62997e</id>
<content type='text'>
It's possible for misuse of cdev KPIs or for bugs in devfs itself to
result in e.g. a cdev object's container being freed while still on the
global list used to populate each devfs mount; see PR 273418 for a
recent example.

Since a node may be marked inactive well before it is reaped from the
list, add a new flag solely to track list membership, and employ it in
some basic list integrity assertions to catch bad actors.

Discussed with:	kib, mjg
MFC after:	1 week
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>urn:sha1:95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD</title>
<updated>2023-05-12T16:44:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-05-10T15:40:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4d846d260e2b9a3d4d0a701462568268cbfe7a5b'/>
<id>urn:sha1:4d846d260e2b9a3d4d0a701462568268cbfe7a5b</id>
<content type='text'>
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with:		pfg
MFC After:		3 days
Sponsored by:		Netflix
</content>
</entry>
<entry>
<title>Retire clone_drain_lock</title>
<updated>2022-08-20T09:44:05Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2022-08-19T21:20:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=497240def87cf93a6420ff4dd5396ae9ae569dfb'/>
<id>urn:sha1:497240def87cf93a6420ff4dd5396ae9ae569dfb</id>
<content type='text'>
It is only ever xlocked in drain_dev_clone_events and the only consumer of
that routine does not need it -- eventhandler code already makes sure the
relevant callback is no longer running.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D36268
</content>
</entry>
<entry>
<title>Remove #define _KERNEL hacks from libprocstat</title>
<updated>2021-02-21T09:38:21Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2021-02-18T13:43:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d485c77f203fb0f4cdc08dea5ff81631b51d8809'/>
<id>urn:sha1:d485c77f203fb0f4cdc08dea5ff81631b51d8809</id>
<content type='text'>
Make sys/buf.h, sys/pipe.h, sys/fs/devfs/devfs*.h headers usable in
userspace, assuming that the consumer has an idea what it is for.
Unhide more material from sys/mount.h and sys/ufs/ufs/inode.h,
sys/ufs/ufs/ufsmount.h for consumption of userspace tools, with the
same caveat.

Remove unacceptable hack from usr.sbin/makefs which relied on sys/buf.h
being unusable in userspace, where it override struct buf with its own
definition.  Instead, provide struct m_buf and struct m_vnode and adapt
code to use local variants.

Reviewed by:	mckusick
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D28679
</content>
</entry>
<entry>
<title>devfs: Abstract locking assertions</title>
<updated>2020-08-12T00:32:31Z</updated>
<author>
<name>Conrad Meyer</name>
<email>cem@FreeBSD.org</email>
</author>
<published>2020-08-12T00:32:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0ac9e27ba964b4d29ed180d5e546873de638822c'/>
<id>urn:sha1:0ac9e27ba964b4d29ed180d5e546873de638822c</id>
<content type='text'>
The conversion was largely mechanical: sed(1) with:

  -e 's|mtx_assert(&amp;devmtx, MA_OWNED)|dev_lock_assert_locked()|g'
  -e 's|mtx_assert(&amp;devmtx, MA_NOTOWNED)|dev_lock_assert_unlocked()|g'

The definitions of these abstractions in fs/devfs/devfs_int.h are the
only non-mechanical change.

No functional change.
</content>
</entry>
<entry>
<title>devfs: introduce a per-dev lock to protect -&gt;si_devsw</title>
<updated>2019-11-30T16:46:19Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2019-11-30T16:46:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a02cab334c6148f1e1a495aa193e722622411a40'/>
<id>urn:sha1:a02cab334c6148f1e1a495aa193e722622411a40</id>
<content type='text'>
This allows bumping threadcount without taking the global devmtx lock.

In particular this eliminates contention on said lock while using bhyve
with multiple vms.

Reviewed by:	kib
Tested by:	markj
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D22548
</content>
</entry>
<entry>
<title>sys/fs: further adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:15:37Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:15:37Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=d63027b668c055c83bad6191a9986616380c86e4'/>
<id>urn:sha1:d63027b668c055c83bad6191a9986616380c86e4</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
</content>
</entry>
<entry>
<title>Stop enforcing additional reference on all cdevs, which was introduced</title>
<updated>2015-01-19T17:36:52Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2015-01-19T17:36:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3b50dff506e494f7aab6dee427f331a6c9133a37'/>
<id>urn:sha1:3b50dff506e494f7aab6dee427f331a6c9133a37</id>
<content type='text'>
in r277199.  Acquire the neccessary reference in delist_dev_locked()
and inform destroy_devl() about it using CDP_UNREF_DTR flag.

Fix some style nits, add asserts.

Discussed with:	hselasky
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
</content>
</entry>
<entry>
<title>Prefer __containerof() above member2struct().</title>
<updated>2012-09-15T19:28:54Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2012-09-15T19:28:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=7cbef24e1a1dad7b4695c23a6bff460b698f8300'/>
<id>urn:sha1:7cbef24e1a1dad7b4695c23a6bff460b698f8300</id>
<content type='text'>
The first does proper checking of the argument types, while the latter
does not.
</content>
</entry>
</feed>
