Revision tags: release/14.2.0 |
|
#
f0f596bd |
| 02-Nov-2024 |
CismonX <admin@cismon.net> |
fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags
The FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT flags are only meant to indicate kernel features, and should be ignored if they appear in the FUSE
fusefs: ignore FUSE_NO_OPEN(DIR)_SUPPORT flags
The FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT flags are only meant to indicate kernel features, and should be ignored if they appear in the FUSE_INIT reply flags.
Also fix the corresponding test cases.
MFC after: 2 weeks Reviewed by: Alan Somers <asomers@FreeBSD.org> Signed-off-by: CismonX <admin@cismon.net> Pull Request: https://github.com/freebsd/freebsd-src/pull/1509
show more ...
|
Revision tags: release/13.4.0 |
|
#
f93a50d6 |
| 08-Sep-2024 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix an uninitialized memory access in fuse_vnop_deallocate
If the FUSE_GETATTR issued to query a file's size during fuse_vnop_deallocate failed for any reason, then fuse_vnop_deallocate woul
fusefs: fix an uninitialized memory access in fuse_vnop_deallocate
If the FUSE_GETATTR issued to query a file's size during fuse_vnop_deallocate failed for any reason, then fuse_vnop_deallocate would attempt to destroy an uninitialized fuse_dispatcher struct, with a crash the likely result. This bug only affects FUSE file systems that implement FUSE_FALLOCATE, and is unlikely to be seen on those that don't disable attribute caching.
Reported by: Coverity Scan CID: 1505308 MFC after: 2 weeks
show more ...
|
Revision tags: release/14.1.0 |
|
#
6efba04d |
| 03-Apr-2024 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE
Background:
If a user does pathconf(_, _PC_MIN_HOLE_SIZE) on a fusefs file system, the kernel must actually issue a FUSE_LSEEK operation in order to
fusefs: fix two bugs regarding _PC_MIN_HOLE_SIZE
Background:
If a user does pathconf(_, _PC_MIN_HOLE_SIZE) on a fusefs file system, the kernel must actually issue a FUSE_LSEEK operation in order to determine whether the server supports it. We cache that result, so we only have to send FUSE_LSEEK the first time that _PC_MIN_HOLE_SIZE is requested on any given mountpoint.
Problem 1:
Unlike fpathconf, pathconf operates on files that may not be open. But FUSE_LSEEK requires the file to be open. As described in PR 278135, FUSE_LSEEK cannot be sent for unopened files, causing _PC_MIN_HOLE_size to wrongly report EINVAL. We never noticed that before because the fusefs test suite only uses fpathconf, not pathconf. Fix this bug by opening the file if necessary.
Problem 2:
On a completely sparse file, with no data blocks at all, FUSE_LSEEK with SEEK_DATA would fail to ENXIO. That's correct behavior, but fuse_vnop_pathconf wrongly interpreted that as "FUSE_LSEEK not supported". Fix the interpretation.
PR: 278135 MFC after: 1 week Sponsored by: Axcient Differential Revision: https://reviews.freebsd.org/D44618
show more ...
|
#
ff4fc43a |
| 22-May-2024 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Fix build.
|
#
31223e68 |
| 19-May-2024 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
Simplify the code.
Obtained from: Fudo Security Reviewed by: asomers, imp Approved by: oshogbo (mentor) Differential Revision: https://reviews.freebsd.org/D45247
|
Revision tags: release/13.3.0 |
|
#
1c909c30 |
| 31-Dec-2023 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix an interaction between copy_file_range and mmap
If a copy_file_range operation tries to read from a page that was previously written via mmap, that page must be flushed first.
MFC after
fusefs: fix an interaction between copy_file_range and mmap
If a copy_file_range operation tries to read from a page that was previously written via mmap, that page must be flushed first.
MFC after: 2 weeks Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D43451
show more ...
|
#
c5405d1c |
| 18-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
vn_copy_file_range(): provide ENOSYS fallback to vn_generic_copy_file_range()
Reviewed by: markj, Olivier Certner <olce.freebsd@certner.fr> Sponsored by: The FreeBSD Foundation MFC after: 1 week Dif
vn_copy_file_range(): provide ENOSYS fallback to vn_generic_copy_file_range()
Reviewed by: markj, Olivier Certner <olce.freebsd@certner.fr> Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42603
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
#
4c6cded2 |
| 14-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fuse_vnop_copy_file_range(): add safety
v_mount for unlocked vnode could be NULL, check for it. Explain why it is safe to access fs-specific data for mp if it is read as non-NULL.
Reviewed by: aso
fuse_vnop_copy_file_range(): add safety
v_mount for unlocked vnode could be NULL, check for it. Explain why it is safe to access fs-specific data for mp if it is read as non-NULL.
Reviewed by: asomers, jah Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42625
show more ...
|
#
318c5671 |
| 14-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
fuse_vnop_copy_file_range(): use vn_lock_pair()
Reviewed by: asomers, jah Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42625
|
Revision tags: release/14.0.0 |
|
#
662ec2f7 |
| 04-Oct-2023 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: sanitize FUSE_READLINK results for embedded NULs
If VOP_READLINK returns a path that contains a NUL, it will trigger an assertion in vfs_lookup. Sanitize such paths in fusefs, rejecting any
fusefs: sanitize FUSE_READLINK results for embedded NULs
If VOP_READLINK returns a path that contains a NUL, it will trigger an assertion in vfs_lookup. Sanitize such paths in fusefs, rejecting any and warning the user about the misbehaving server.
PR: 274268 MFC after: 1 week Sponsored by: Axcient Reviewed by: mjg, markj Differential Revision: https://reviews.freebsd.org/D42081
show more ...
|
#
fb619c94 |
| 20-Sep-2023 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix some bugs updating atime during close
When using cached attributes, we must update a file's atime during close, if it has been read since the last attribute refresh. But,
* Don't updat
fusefs: fix some bugs updating atime during close
When using cached attributes, we must update a file's atime during close, if it has been read since the last attribute refresh. But,
* Don't update atime if we lack write permissions to the file or if the file system is readonly. * If the daemon fails our atime update request for any reason, don't report this as a failure for VOP_CLOSE.
PR: 270749 Reported by: Jamie Landeg-Jones <jamie@catflap.org> MFC after: 1 week Sponsored by: Axcient Reviewed by: pfg Differential Revision: https://reviews.freebsd.org/D41925
show more ...
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0 |
|
#
ba8cc6d7 |
| 12-Mar-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: use __enum_uint8 for vtype and vstate
This whacks hackery around only reading v_type once.
Bump __FreeBSD_version to 1400093
|
#
e3f7081b |
| 22-May-2023 |
Mark Johnston <markj@FreeBSD.org> |
fusefs: Remove an unused pbuf zone
The zone has been dead ever since commit b9e20197551d ("fusefs: rewrite vop_getpages and vop_putpages")
No functional change intended.
Reviewed by: asomers MFC a
fusefs: Remove an unused pbuf zone
The zone has been dead ever since commit b9e20197551d ("fusefs: rewrite vop_getpages and vop_putpages")
No functional change intended.
Reviewed by: asomers MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D40143
show more ...
|
#
cb750f7f |
| 31-Mar-2023 |
John Baldwin <jhb@FreeBSD.org> |
fuse: Remove set but unused cr_gid variable.
Reviewed by: asomers Reported by: GCC Differential Revision: https://reviews.freebsd.org/D39350
|
#
1bdf879b |
| 12-Feb-2023 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix some resource leaks
fusefs would leak tickets in three cases: * After FUSE_CREATE, if the server returned a bad inode number. * After a FUSE_FALLOCATE operation during VOP_ALLOCATE * Aft
fusefs: fix some resource leaks
fusefs would leak tickets in three cases: * After FUSE_CREATE, if the server returned a bad inode number. * After a FUSE_FALLOCATE operation during VOP_ALLOCATE * After a FUSE_FALLOCATE operation during VOP_DEALLOCATE
MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D38526
show more ...
|
Revision tags: release/12.4.0 |
|
#
f6e53195 |
| 12-Oct-2022 |
Alan Somers <asomers@FreeBSD.org> |
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.
MFC after: 2 weeks Reviewed by:
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.
MFC after: 2 weeks Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37040
show more ...
|
#
3c3b906b |
| 12-Oct-2022 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: After successful F_GETLK, l_whence should be SEEK_SET
PR: 266886 Reported by: John Millikin <jmillikin@gmail.com> MFC after: 2 weeks Reviewed by: emaste Differential Revision: https://revie
fusefs: After successful F_GETLK, l_whence should be SEEK_SET
PR: 266886 Reported by: John Millikin <jmillikin@gmail.com> MFC after: 2 weeks Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D37014
show more ...
|
#
46fcf947 |
| 07-Oct-2022 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: during F_GETLK, don't change l_pid if no lock is found
PR: 266885 MFC after: 2 weeks Submitted by: John Millikin <jmillikin@gmail.com> Sponsored by: Axcient Reviewed by: emaste Differential
fusefs: during F_GETLK, don't change l_pid if no lock is found
PR: 266885 MFC after: 2 weeks Submitted by: John Millikin <jmillikin@gmail.com> Sponsored by: Axcient Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D36905
show more ...
|
#
52360ca3 |
| 26-Sep-2022 |
Alan Somers <asomers@FreeBSD.org> |
copy_file_range: truncate write if it would exceed RLIMIT_FSIZE
PR: 266611 MFC after: 2 weeks Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D36706
|
#
0a192b3a |
| 25-Sep-2022 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: respect RLIMIT_FSIZE during truncate
PR: 164793 MFC after: 2 weeks Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D36703
|
#
5b5b7e2c |
| 17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: always retain path buffer after lookup
This removes some of the complexity needed to maintain HASBUF and allows for removing injecting SAVENAME by filesystems.
Reviewed by: kib (previous versi
vfs: always retain path buffer after lookup
This removes some of the complexity needed to maintain HASBUF and allows for removing injecting SAVENAME by filesystems.
Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D36542
show more ...
|
Revision tags: release/13.1.0 |
|
#
0bef4927 |
| 05-May-2022 |
Alan Somers <asomers@FreeBSD.org> |
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
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 <rtm@lcs.mit.edu> MFC after: 2 weeks Reviewed by: pfg Differential Revision: https://reviews.freebsd.org/D35128
show more ...
|
#
45825a12 |
| 28-Apr-2022 |
Alan Somers <asomers@FreeBSD.org> |
fusefs: fix FUSE_CREATE with file handles and fuse protocol < 7.9
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 ac
fusefs: fix FUSE_CREATE with file handles and fuse protocol < 7.9
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 <ali.abdallah@suse.com> MFC after: 2 weeks
show more ...
|