<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/tests, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2022-10-20T16:24:19Z</updated>
<entry>
<title>fusefs: After successful F_GETLK, l_whence should be SEEK_SET</title>
<updated>2022-10-20T16:24:19Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-10-11T23:00:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=311f68079ff29aabd594c6fbdc97c2bff5d91ba5'/>
<id>urn:sha1:311f68079ff29aabd594c6fbdc97c2bff5d91ba5</id>
<content type='text'>
PR:		266886
Reported by:	John Millikin &lt;jmillikin@gmail.com&gt;
Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D37014

(cherry picked from commit 3c3b906b54236841d813fd9a01b1e090f39558ea)

fusefs: fix VOP_ADVLOCK with SEEK_END

When the user specifies SEEK_END, unlike SEEK_CUR, VOP_ADVLOCK must
adjust lock offsets itself.

Sort-of related to bug 266886.

Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D37040

(cherry picked from commit f6e5319550f60170840f1a07a9cbdd45b5014a21)

Approved by:	kib (re)
</content>
</entry>
<entry>
<title>fusefs: better debugging for FUSE_RENAME in the tests</title>
<updated>2022-10-19T03:21:08Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-12-03T03:26:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=57d42454e143a8ea6f34ab94dec8e6313529e43f'/>
<id>urn:sha1:57d42454e143a8ea6f34ab94dec8e6313529e43f</id>
<content type='text'>
(cherry picked from commit c2d342c509065bee6392624e95b75cf7b3bb9c45)
</content>
</entry>
<entry>
<title>fusefs: update atime on reads when using cached attributes</title>
<updated>2022-10-19T03:09:17Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2021-11-29T01:53:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4dd575e7d54dcb9ab2afe7a8af4c29285e8a2f94'/>
<id>urn:sha1:4dd575e7d54dcb9ab2afe7a8af4c29285e8a2f94</id>
<content type='text'>
When using cached attributes, whether or not the data cache is enabled,
fusefs must update a file's atime whenever it reads from it, so long as
it wasn't mounted with -o noatime.  Update it in-kernel, and flush it to
the server on close or during the next setattr operation.

The downside is that close() will now frequently trigger a FUSE_SETATTR
upcall.  But if you care about performance, you should be using
-o noatime anyway.

Reviewed by:	pfg
Differential Revision: https://reviews.freebsd.org/D33145

(cherry picked from commit 91972cfcddf950d7a9c33df5a9171ada1805a144)

fusefs: fix 32-bit build of the tests after 91972cfcddf

(cherry picked from commit d109559ddbf7afe311c1f1795ece137071406db8)
</content>
</entry>
<entry>
<title>fusefs: during F_GETLK, don't change l_pid if no lock is found</title>
<updated>2022-10-19T01:13:55Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-10-07T14:46:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=274f5099706f33bf69fa29546dd6c94fde8eb001'/>
<id>urn:sha1:274f5099706f33bf69fa29546dd6c94fde8eb001</id>
<content type='text'>
PR:		266885
Submitted by:	John Millikin &lt;jmillikin@gmail.com&gt;
Sponsored by:	Axcient
Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D36905

(cherry picked from commit 46fcf947c6c8db1e1ceb3cbd75b69d1d1e494929)
</content>
</entry>
<entry>
<title>pf tests: test wildcard anchors</title>
<updated>2022-09-15T09:28:59Z</updated>
<author>
<name>Kristof Provost</name>
<email>kp@FreeBSD.org</email>
</author>
<published>2022-08-31T13:40:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8c5425c07fd880d878782d15430893e6d6b95b44'/>
<id>urn:sha1:8c5425c07fd880d878782d15430893e6d6b95b44</id>
<content type='text'>
Ensure that a wildcard anchor actually includes any nested anchors (i.e.
foo/* will call into foo/bar).

MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D36414

(cherry picked from commit d5a0bf4517c053803b266742d16be456c5393ae7)
</content>
</entry>
<entry>
<title>fusefs: make the mknod.cc tests a bit more general.</title>
<updated>2022-08-20T02:33:08Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-05-03T22:53:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=93891ed2f794ba871f8cae5cc5fc04abced2d157'/>
<id>urn:sha1:93891ed2f794ba871f8cae5cc5fc04abced2d157</id>
<content type='text'>
Reviewed by:    pfg

(cherry picked from commit 8b582b16402102df10a715c626e212bbbc8e9d7c)

fusefs: handle evil servers that return illegal inode numbers

* If during FUSE_CREATE, FUSE_MKDIR, etc the server returns the same
  inode number for the new file as for its parent directory, reject it.
  Previously this would triggers a recurse-on-non-recursive lock panic.

* If during FUSE_LINK the server returns a different inode number for
  the new name as for the old one, reject it.  Obviously, that can't be
  a hard link.

* If during FUSE_LOOKUP the server returns the same inode number for the
  new file as for its parent directory, reject it.  Nothing good can
  come of this.

PR:		263662
Reported by:	Robert Morris &lt;rtm@lcs.mit.edu&gt;
Reviewed by:	pfg
Differential Revision: https://reviews.freebsd.org/D35128

(cherry picked from commit 0bef4927ea858bb18b6f679bc0a36cff264dc842)
</content>
</entry>
<entry>
<title>fix integer overflow bugs in *stosbt</title>
<updated>2022-08-20T02:24:58Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-04-06T20:03:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e04d75193865985f64e450931b51c6c2042f913d'/>
<id>urn:sha1:e04d75193865985f64e450931b51c6c2042f913d</id>
<content type='text'>
68f57679d660 Fixed another class of integer overflows, but introduced a
boundary condition for 2-4s in ns conversion, 2-~4000s in us conversions
and 2-~4,000,000s in ms conversions. This was because we bogusly used
SBT_1S for the notion of 1 second, instead of the appropriate power of
10. To fix, just use the appropriate power of 10, which avoids these
overflows.

This caused some sleeps in ZFS to be on the order of an hour.

MFC:			1 day
PR:			263073
Sponsored by:		Netflix
Reviewed by:		asomers
Differential Revision:	https://reviews.freebsd.org/D34790

Fix overflow errors in sbttous and sbttoms

Both of these functions would overflow for very large inputs.  Add tests
for them.  Also, add tests for the inverse functions, *stosbt, whose
overflow errors were fixed by 4c30b9ecd47.

PR:		263073
Sponsored by:	Axcient
Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D34809

(cherry picked from commit 4c30b9ecd47a2d92565731082a6a4f2bd1e6e051)
(cherry picked from commit 10f44229dcd93672583ad6b6e1193a9bc9e4f7c7)
</content>
</entry>
<entry>
<title>fusefs: fix FUSE_CREATE with file handles and fuse protocol &lt; 7.9</title>
<updated>2022-08-20T01:11:23Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-04-28T21:13:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e2182a594d84a84a0ff3edf2a7ad9ee141027a60'/>
<id>urn:sha1:e2182a594d84a84a0ff3edf2a7ad9ee141027a60</id>
<content type='text'>
Prior to fuse protocol version 7.9, the fuse_entry_out structure had a
smaller size.  But fuse_vnop_create did not take that into account when
working with servers that use older protocols.  The bug does not matter
for servers which don't use file handles or open flags (the only fields
affected).

PR:		263625
Submitted by:	Ali Abdallah &lt;ali.abdallah@suse.com&gt;

(cherry picked from commit 45825a12f9851213e627cf41398706bacb793f83)
</content>
</entry>
<entry>
<title>fusefs: correctly handle servers that report too much data written</title>
<updated>2022-08-20T00:55:25Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-04-18T23:03:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3a5ccf21b2aa27f51451b40be7388f671595d36a'/>
<id>urn:sha1:3a5ccf21b2aa27f51451b40be7388f671595d36a</id>
<content type='text'>
During a FUSE_WRITE, the kernel requests the server to write a certain
amount of data, and the server responds with the amount that it actually
did write.  It is obviously an error for the server to write more than
it was provided, and we always treated it as such, but there were two
problems:

* If the server responded with a huge amount, greater than INT_MAX, it
  would trigger an integer overflow which would cause a panic.

* When extending the file, we wrongly set the file's size before
  validing the amount written.

PR:		263263
Reported by:	Robert Morris &lt;rtm@lcs.mit.edu&gt;
Sponsored by:	Axcient
Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D34955

(cherry picked from commit 3a1b3c6a1e68063330e897a5a5c94518edae4a3b)
</content>
</entry>
<entry>
<title>fusefs: validate servers' error values</title>
<updated>2022-08-20T00:49:23Z</updated>
<author>
<name>Alan Somers</name>
<email>asomers@FreeBSD.org</email>
</author>
<published>2022-04-15T19:04:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=73e02a370e524eb1e5719d9c37098e29c0d9be78'/>
<id>urn:sha1:73e02a370e524eb1e5719d9c37098e29c0d9be78</id>
<content type='text'>
Formerly fusefs would pass up the stack any error value returned by the
fuse server.  However, some values aren't valid for userland, but have
special meanings within the kernel.  One of these, EJUSTRETURN, could
cause a kernel page fault if the server returned it in response to
FUSE_LOOKUP.  Fix by validating all errors returned by the server.

Also, fix a data lifetime bug in the FUSE_DESTROY test.

PR:		263220
Reported by:	Robert Morris &lt;rtm@lcs.mit.edu&gt;
Sponsored by:	Axcient
Reviewed by:	emaste
Differential Revision: https://reviews.freebsd.org/D34931

(cherry picked from commit 155ac516c60f20573d15c54bafabfd0e52d21fa6)
</content>
</entry>
</feed>
