<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/nlm/nlm_prot_impl.c, branch upstream/11.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.2.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-06-26T20:08:42Z</updated>
<entry>
<title>When sleeping waiting for either local or remote advisory lock,</title>
<updated>2016-06-26T20:08:42Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-06-26T20:08:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=883a5a4a6a26011b906c2491f7e013a03a4e648f'/>
<id>urn:sha1:883a5a4a6a26011b906c2491f7e013a03a4e648f</id>
<content type='text'>
interrupt sleeps with the ERESTART on the suspension attempts.
Otherwise, single-threading requests are deferred until the locks are
granted for NFS files, which causes hangs.

When retrying local registration of the remotely-granted adv lock,
allow full suspension and check for suspension, for usual reasons.

Reported by:	markj, pho
Reviewed by:	jilles
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Approved by:	re (gjb)
</content>
</entry>
<entry>
<title>Remove slightly used const values that can be replaced with nitems().</title>
<updated>2016-04-21T15:38:28Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-04-21T15:38:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8dfea46460a0befc49458e87d2078a5ca100e0eb'/>
<id>urn:sha1:8dfea46460a0befc49458e87d2078a5ca100e0eb</id>
<content type='text'>
Suggested by:	jhb
</content>
</entry>
<entry>
<title>Avoid a possible heap overflow in our nlm code by limiting the number</title>
<updated>2016-04-20T15:31:03Z</updated>
<author>
<name>Sean Bruno</name>
<email>sbruno@FreeBSD.org</email>
</author>
<published>2016-04-20T15:31:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2f7a2b9d79d4312d78b4efdc358e738e0d9907b0'/>
<id>urn:sha1:2f7a2b9d79d4312d78b4efdc358e738e0d9907b0</id>
<content type='text'>
of service to the arbitrary value of 256.  Log an appropriate message
that indicates the hard limit.

PR:		208808
Submitted by:	cturt@hardenedbsd.org
Reviewed by:	dfr
Obtained from:	HardenedBSD
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Avoid dynamic syscall overhead for statically compiled modules.</title>
<updated>2014-10-26T19:42:44Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2014-10-26T19:42:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e015b1ab0a428e65297e44471d257d7eb589b383'/>
<id>urn:sha1:e015b1ab0a428e65297e44471d257d7eb589b383</id>
<content type='text'>
The kernel tracks syscall users so that modules can safely unregister them.

But if the module is not unloadable or was compiled into the kernel, there is
no need to do this.

Achieve this by adding SY_THR_STATIC_KLD macro which expands to SY_THR_STATIC
during kernel build and 0 otherwise.

Reviewed by:	kib (previous version)
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Correct a typo in nlm_find_host_by_addr(): the intention of the</title>
<updated>2014-03-11T00:25:55Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2014-03-11T00:25:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0bd8e9dcc42c45f857c9989c87d7450aa00ecf73'/>
<id>urn:sha1:0bd8e9dcc42c45f857c9989c87d7450aa00ecf73</id>
<content type='text'>
code is to give "&lt;unknown&gt;" rather than comparing the buffer
against it.

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Intermittent crashes in the NLM (rpc.lockd) code during system</title>
<updated>2013-09-06T23:14:31Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2013-09-06T23:14:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5ee5ec755db9d8686fb05ad400d18771b3292762'/>
<id>urn:sha1:5ee5ec755db9d8686fb05ad400d18771b3292762</id>
<content type='text'>
shutdown was reporetd via email. The crashes occurred because the
client side NLM would attempt to use its socket after it had been
destroyed. Looking at the code, it would soclose() once the reference
count on the socket handling structure went to 0. Unfortunately,
nlm_host_get_rpc() will simply allocate a new socket handling structure
when none exists and use the now soclose()d socket. Since there doesn't
seem to be a safe way to determine when the socket is no longer needed,
this patch modifies the code so that it never soclose()es the socket.
Since there is only one socket ever created, this does not introduce a
leak when the rpc.lockd is stopped/restarted. The patch also disables
unloading of the nfslockd module, since it is not safe to do so (and
has never been safe to do so, from what I can see).

Reported by:	mav
Tested by:	mav
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Remove the support for using non-mpsafe filesystem modules.</title>
<updated>2012-10-22T17:50:54Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-10-22T17:50:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5050aa86cff105784877fb886a7b1d25bca5813b'/>
<id>urn:sha1:5050aa86cff105784877fb886a7b1d25bca5813b</id>
<content type='text'>
In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by:	attilio
Tested by:	pho
</content>
</entry>
<entry>
<title>jwd@ reported a problem via email to freebsd-fs@ on Aug 25, 2011</title>
<updated>2012-01-31T02:11:05Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2012-01-31T02:11:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a8122d16b5f4f1a061d2bf05fc8577fd5902f2bf'/>
<id>urn:sha1:a8122d16b5f4f1a061d2bf05fc8577fd5902f2bf</id>
<content type='text'>
under the subject "F_RDLCK lock to FreeBSD NFS fails to R/O target file".
This occurred because the server side NLM always checked for VWRITE
access, irrespective of the type of lock request. This patch
replaces VOP_ACCESS(..VWRITE..) with one appropriate to
the lock operation. It allows unlock and lock cancellation
to be done without a check of VOP_ACCESS(), so that files
can't be left locked indefinitely after the file permissions
have been changed.

Discussed with:	zack
Submitted by:	jwd (earlier version)
Reviewed by:	dfr
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.</title>
<updated>2011-11-07T15:43:11Z</updated>
<author>
<name>Ed Schouten</name>
<email>ed@FreeBSD.org</email>
</author>
<published>2011-11-07T15:43:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6472ac3d8a86336899b6cfb789a4cd9897e3fab5'/>
<id>urn:sha1:6472ac3d8a86336899b6cfb789a4cd9897e3fab5</id>
<content type='text'>
The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
</content>
</entry>
<entry>
<title>In order to maximize the re-usability of kernel code in user space this</title>
<updated>2011-09-16T13:58:51Z</updated>
<author>
<name>Kip Macy</name>
<email>kmacy@FreeBSD.org</email>
</author>
<published>2011-09-16T13:58:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8451d0dd78c0a9c0383485b18aba9f081a9db8bb'/>
<id>urn:sha1:8451d0dd78c0a9c0383485b18aba9f081a9db8bb</id>
<content type='text'>
patch modifies makesyscalls.sh to prefix all of the non-compatibility
calls (e.g. not linux_, freebsd32_) with sys_ and updates the kernel
entry points and all places in the code that use them. It also
fixes an additional name space collision between the kernel function
psignal and the libc function of the same name by renaming the kernel
psignal kern_psignal(). By introducing this change now we will ease future
MFCs that change syscalls.

Reviewed by:	rwatson
Approved by:	re (bz)
</content>
</entry>
</feed>
