Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
242 commits
Select commit Hold shift + click to select a range
358761f
Update ChangeLog.rst for 3.17 (#1085)
bsbernd Jan 1, 2025
e8bf8ad
Run github workflow actions on release branches
bsbernd Jan 1, 2025
94e269a
Add a github action to check for "Signed-off-by"
bsbernd Jan 1, 2025
e156075
Add a checkpatch.pl github workflow
bsbernd Jan 1, 2025
58e7e36
Update AUTHORS for 3.17 and add script for that
bsbernd Jan 2, 2025
fb11686
.github/workflows/codespell.yml: checkpatch.pl needs to be skipped
bsbernd Jan 2, 2025
fbc7b01
Fix the checkpatch.pl workflow
bsbernd Jan 2, 2025
9eb6d62
Remove the DCO check
bsbernd Jan 2, 2025
aca2557
Fix libfuse build with FUSE_USE_VERSION 30
amir73il Jan 1, 2025
9b92c98
Fix build of memfs_ll without manual meson reconfigure
amir73il Jan 3, 2025
52d4791
example/passthrough: Enable testing of readdirplus without fill offsets
amir73il Jan 2, 2025
8d34e36
Fix junk readdirplus results when filesystem not filling stat info
amir73il Jan 2, 2025
0636f1f
Fix fuse_main_real symbols
bsbernd Jan 4, 2025
1c58dc6
Avoid global declarion of internal functions that are new in 3.17
bsbernd Jan 4, 2025
a1e5ade
checkpatch: Disable warning for externs in C files
bsbernd Jan 4, 2025
fc95fd5
Make fuse_main_real() not symboled
bsbernd Jan 4, 2025
33c0ce1
Identify the FD hold by parent process
zegang Jan 8, 2025
6f73db5
Update doxygen/comments for fuse_reply_open/fuse_reply_create
bsbernd Jan 13, 2025
0244e90
build(deps): bump github/codeql-action from 3.28.0 to 3.28.1
dependabot[bot] Jan 13, 2025
cf56672
codespell: Add 're-used' and 're-using' to the ignore list
bsbernd Jan 24, 2025
48d12f8
checkpatch: Ignore ENOSYS_SYSCALL
bsbernd Jan 24, 2025
da3c7e6
abidiff: Don't warn about added symbols
bsbernd Jan 24, 2025
43ec53d
lib: Set thread names
bsbernd Jan 27, 2025
ba7beb2
build(deps): bump github/codeql-action from 3.28.1 to 3.28.6
dependabot[bot] Jan 27, 2025
64de51d
github actions: Add an include-what-you-need check
bsbernd Jan 29, 2025
999aee6
fuse_lowlevel.c: fix possible 64 bits value truncation
luis-henrix Jan 31, 2025
7f86f3b
fuse_lowlevel.c: drop incorrect comment from convert_to_conn_want_ext()
luis-henrix Jan 31, 2025
32d84aa
build(deps): bump github/codeql-action from 3.28.6 to 3.28.8
dependabot[bot] Feb 3, 2025
458f433
Rename fuse_main_real_317 to fuse_main_real_versioned
bsbernd Feb 8, 2025
b0f32a8
Make fuse_main a macro again and wrap that to fuse_main_fn
bsbernd Feb 8, 2025
53eefce
Rename to fuse_session_new_versioned
bsbernd Feb 8, 2025
38da521
fuse_new: Fix non symboled call to _fuse_new_317
bsbernd Feb 10, 2025
65dfe9c
fuse_new version fixes: Change to fuse_new_versioned
bsbernd Feb 10, 2025
dca6e51
Build fixes for -Og
bsbernd Feb 10, 2025
805969f
Change version to 3.17.1-rc0
bsbernd Feb 10, 2025
34c5053
Prepare 3.17.1 release
bsbernd Feb 10, 2025
62c79d5
passthrough_hp: enable splice move by default
joannekoong Feb 12, 2025
3748928
Add signify key for 3.18
bsbernd Feb 13, 2025
5889ae6
Fix build of example/memfs_ll.cc on 32 bit architectures
gcsideal Feb 16, 2025
51cb3e2
fusermount: Exclude UFSD from whitelist for 32-bit builds
bsbernd Feb 16, 2025
9971ec5
example/hello_ll_uds: Switch to %zu and avoid 32bit build warning
bsbernd Feb 16, 2025
55f6962
tests: Skip the ioctl test for x86 cross compilation
bsbernd Feb 17, 2025
7e02c20
ci-build test: Add a 32-bit compilation test
bsbernd Feb 16, 2025
d7d7f12
Add comment for fuse_passthrough_open()
maksim-harbachou-resilio Feb 14, 2025
4204517
build(deps): bump github/codeql-action from 3.28.8 to 3.28.9
dependabot[bot] Feb 17, 2025
84da6e0
tests: Disable tests with TMP_FILE on FreeBSD
vassilit Feb 17, 2025
42824c4
tests: Re-enable mknod and mkfifo tests on FreeBSD
vassilit Feb 17, 2025
3232d6e
mount_bsd: Fix usage of libfuse_strtol
vassilit Feb 17, 2025
124ceb7
FreeBSD: Remove useless options
vassilit Feb 17, 2025
f665917
mount_bsd: Proper exit calls
vassilit Feb 17, 2025
06fef4f
mount_bsd: Show errors when syscalls failed
vassilit Feb 17, 2025
619538e
mount_bsd: Remove unused headers
vassilit Feb 18, 2025
f8bdca3
Avoid nested function declarations in helper functions
bsbernd Feb 17, 2025
38cfa38
Fix a typo in test/ci-build.sh (ct vs cat)
bsbernd Feb 18, 2025
21c8776
github ci tests: Update the stable branch name to include fuse-
bsbernd Feb 18, 2025
c389e09
github checkpatch test: Fix for non pull requests
bsbernd Feb 18, 2025
26b0e0e
Update meson.build for master branch to 3.18
bsbernd Feb 18, 2025
8ca2fe6
mount: fix closing stdout/err and error logs
vassilit Feb 19, 2025
c516c64
fuse_log: simplify default log function
vassilit Feb 20, 2025
2a1bd0b
checkpatch: More ignores: ENOSYS,FROM_SIGN_OFF_MISMATCH,QUOTED_COMMIT_ID
bsbernd Mar 11, 2025
f466ce3
checkpatch: 100 chars per line
bsbernd Mar 11, 2025
622dca0
build(deps): bump github/codeql-action from 3.28.9 to 3.28.11
dependabot[bot] Mar 10, 2025
431d69a
doc: Add new README about notification operations
luis-henrix Mar 4, 2025
3a291c3
Add PanFS to whitelist
jnr0006 Mar 12, 2025
3ae5ca7
fuse_common.h: Convert back FUSE_CAP_ from enum to defines
bsbernd Mar 13, 2025
065272a
fuse_session_receive_buf: Fix the pipe buf size
bsbernd Mar 7, 2025
1b86fe4
fuse_lowlevel: Simplify se->buf_reallocable
bsbernd Mar 11, 2025
b9fc5a0
fusermount: prevent stdio FDs from being reused
bsbernd Feb 22, 2025
bdddba7
Switch .dir-locals.el to linux kernel style
bsbernd Feb 20, 2025
9f7597a
Fix a comment typo "passed to the filesystem.n"
bsbernd Mar 19, 2025
14520a6
convert LL_ENABLE/LL_DISABLE to do-while-loop
bsbernd Mar 22, 2025
5d1c49e
test/test_write_cache.c: Reformat with clang-format
bsbernd Mar 22, 2025
f68970c
fuse: Fix want flag conversion
bsbernd Mar 22, 2025
1f1a78b
checkpatch: Ignore dependabot commits
bsbernd Mar 25, 2025
86817c3
build(deps): bump github/codeql-action from 3.28.11 to 3.28.13
dependabot[bot] Mar 25, 2025
6cdb650
example/hello_ll.c: Improve the compilation comments
izxl007 Mar 25, 2025
a25fb9b
example: Add a compilation instruction in README.compile
izxl007 Mar 27, 2025
eabe4b6
lib: Add usdt.h
joannekoong Feb 24, 2025
11fde23
fuse_lowlevel: add tracepoints for request receiving, processing, and…
joannekoong Feb 21, 2025
9265134
example: add usdt.bt
joannekoong Feb 24, 2025
206f4a4
Fix build with kernel < 5.9
giuliobenetti Mar 31, 2025
197ea99
Fix static_assert build failure with C++ version < 11
giuliobenetti Apr 4, 2025
ead0a13
meson: add option for enabling usdt
joannekoong Apr 2, 2025
1250740
fuse_lowlevel: Set bufsize if HAVE_SPLICE is not define and avoid race
bsbernd Apr 7, 2025
cb586bb
build(deps): bump github/codeql-action from 3.28.13 to 3.28.15
dependabot[bot] Apr 8, 2025
0d4a628
lib: remove second fuse_main_real_versioned declaration
bjdooks-ct Apr 9, 2025
d66ca89
mount: Add FUSE_KERN_DEVICE env variable to specify fuse kernel device
Apr 10, 2025
3863da5
conn: prevent duplicate flag conversion in high-level interface
bsbernd Apr 15, 2025
7c60178
Check if pthread_setname_np() exists before use it
giuliobenetti Apr 23, 2025
f0dd864
example: fix memfs_rename deadlock error
201341 Apr 23, 2025
e025a78
signal handlers: Store fuse_session unconditionally
bsbernd Apr 23, 2025
c5dbcdc
Fix multi-threaded fuse session exit
bsbernd Mar 30, 2025
e940beb
Fix test/test_examples.py::test_passthrough
bsbernd Apr 24, 2025
82bcd81
Fix meson function tests
bsbernd Apr 24, 2025
0eb8513
meson.build: make special_funcs check more reliable
giuliobenetti Apr 25, 2025
066ed64
Add fuse-io-uring dependencies to github workfow files
bsbernd Mar 24, 2025
d393ffa
Synchronize fuse_kernel.h with linux-6.14
bsbernd Mar 24, 2025
2f4d7ca
fuse_lowlevel: Add support for header/payload separation
bsbernd Mar 24, 2025
c5a032b
Add container_of and ROUND_UP macros
bsbernd Apr 15, 2025
ef533e2
Add a fuse_set_thread_name() helper
bsbernd Apr 24, 2025
dde540e
fuse: Add ring creation
bsbernd Mar 24, 2025
da355f7
Add support for ring creation in fuse_lowlevel.c
bsbernd Mar 24, 2025
04ecefb
fuse_lowlevel: Split fuse_send_msg
bsbernd Mar 24, 2025
9367748
fuse_ll_ops: Make fuse_ino_t const
bsbernd Mar 25, 2025
913c377
Add a basic io-uring cqe handler
bsbernd Mar 25, 2025
d4abf66
Add fuse_session_process_uring_cqe
bsbernd Mar 26, 2025
988ef11
Add fuse-io-uring reply support
bsbernd Mar 26, 2025
3824fab
fuse_common.h: Prefix flags with 1UL
bsbernd Apr 15, 2025
71b6fb7
fuse: Add io-uring options
bsbernd Apr 15, 2025
538b51f
Add fuse_req_is_uring() to check if a req comes through io-uring
bsbernd Apr 15, 2025
91c9803
passthrough_hp: Add io-uring options
bsbernd Apr 15, 2025
3421cab
env variables to override default io-uring enable and q-depth
bsbernd Apr 24, 2025
e70f91c
Set FUSE_CAP_OVER_IO_URING flag - allow io-uring mode
bsbernd Apr 15, 2025
e122b3f
Add a README for fuse-over-io-uring
bsbernd Apr 28, 2025
3ea426d
lib/fuse.c: refactor handler logic for readability
joannekoong Feb 18, 2025
aa2e891
build(deps): bump github/codeql-action from 3.28.15 to 3.28.16
dependabot[bot] Apr 28, 2025
83e7dce
fuse_lowlevel.c: Fix a small spelling mistake
izxl007 Apr 29, 2025
cd50316
Update include/fuse_kernel.h to version 7.43
joannekoong Jan 23, 2025
84a27de
Support request timeouts
joannekoong Jul 17, 2024
7812b66
build(deps): bump github/codeql-action from 3.28.16 to 3.28.17
dependabot[bot] May 5, 2025
65b388f
build(deps): bump github/codeql-action from 3.28.17 to 3.28.18
dependabot[bot] May 19, 2025
eadd6a5
Make conn->want/want_ext conversion non fatal
bsbernd May 17, 2025
baadab0
conn->want conversion: Fix fuse_apply_conn_info_opts()
bsbernd May 17, 2025
cea9b33
Fix build in musl libc
luis-henrix May 22, 2025
fc71597
fuse_lowlevel.c: Remove duplicate descriptions of auto_unmount
izxl007 May 28, 2025
b773020
Update how to use the io_uring and io_uring_q_depth mount options
izxl007 Jun 3, 2025
22f6062
build(deps): bump github/codeql-action from 3.28.18 to 3.28.19
dependabot[bot] Jun 9, 2025
05cbdf6
mount_bsd.c: Fix race between actual mounting and returning to the ca…
arrowd Jun 5, 2025
3d8aba6
gitignore: add .DS_Store
httpstorm Jun 12, 2025
6787608
fuse_signals.c: fix build warning when HAVE_BACKTRACE is undefined
httpstorm Jun 12, 2025
324f1c7
tests: Add an exception for output "error"
bsbernd Jun 4, 2025
e64a616
help: Remove duplicate io_uring options from fuse_cmdline_help
izxl007 Jun 9, 2025
5724a99
gitignore: add *.patch
httpstorm Jun 13, 2025
77e7df4
build(deps): bump github/codeql-action from 3.28.19 to 3.29.0
dependabot[bot] Jun 16, 2025
00dd846
Reformat passthrough_hp with clang-format
bsbernd Jun 17, 2025
4108904
example/passthrough_hp: Show fuse lowlevel help options
bsbernd Jun 16, 2025
f4c5d20
Fix io-uring teardown
bsbernd Jun 16, 2025
3793b17
mount_util.c: check if utab exists before update
httpstorm Jun 15, 2025
5ceb0b0
fuse: add support to FUSE_NOTIFY_INC_EPOCH
luis-henrix May 22, 2025
1caf816
tests: example: add new test for increment epoch
luis-henrix Jun 18, 2025
43e36ff
example/ioctl_client: Delete the redundant comment
izxl007 Jun 18, 2025
abd0a98
Clarify offset field is signed despite uint64_t type
izxl007 Jun 22, 2025
1016d16
Catch up with fuse_send_data_iov() signature changes in the fallback …
arrowd Jun 24, 2025
596732d
meson: Check for some Linux-specific headers
arrowd Jun 24, 2025
e9a140b
examples: Guard inclusions of Linux headers with appropriate ifdefs
arrowd Jun 24, 2025
9168e3b
memfs_ll: Fix compiling on non-Linux OSes
arrowd Jun 24, 2025
f8fe398
passthrough_hp: Abstract out the fd -> path transition
arrowd Jun 24, 2025
8e649e8
passthrough_hp: Fix compilation on systems without O_TMPFILE support
arrowd Jun 24, 2025
f0ec646
meson: Enable building C++ examples on FreeBSD
arrowd Jun 24, 2025
57227e4
FreeBSD: test runner
vassilit Feb 20, 2025
1bb2f2a
memfs_ll: Fix unused variable warning
arrowd Jun 25, 2025
4de3db4
passthrough_hp: Fix unused function warning
arrowd Jun 25, 2025
fc1c8da
license: s/COPYING/GPL2.txt, s/COPYING.LIB/LGPL2.txt
izxl007 Jun 19, 2025
4166f2e
build(deps): bump github/codeql-action from 3.29.0 to 3.29.2
dependabot[bot] Jul 1, 2025
db5a1b6
example/passthrough: refactor fallocate
CismonX Jul 9, 2025
21a27e3
example/passthrough: tidy up passthrough_helpers.h
CismonX Jul 9, 2025
fc9888e
example/passthrough: support fspacectl()
CismonX Jul 9, 2025
3be8441
Switch to c++20
bsbernd Jul 15, 2025
b507cbc
Add statx support
joannekoong Aug 23, 2024
194023c
fusermount: Fix the close_range ifdef
bsbernd Jul 15, 2025
5f6d3be
fusermount: close_range seems to be available on bsd
bsbernd Jul 15, 2025
d825377
Avoid double unmount on FUSE_DESTROY
bsbernd Jul 15, 2025
b96c738
memfs_ll: fix deadlock in truncate operation
Jul 16, 2025
0d15126
example/memfs_ll: Avoid nullptr field initializations by pragma
bsbernd Jul 19, 2025
6d02f5d
build(deps): bump github/codeql-action from 3.29.2 to 3.29.3
dependabot[bot] Jul 21, 2025
e1e7b11
fuse-over-io-uring: Remove handling of -EOPNOTSUPP
bsbernd Jul 19, 2025
0624650
fuse-io-uring: Add sanity check for the number of queue entries
bsbernd Jul 20, 2025
2f092ef
Simplify meson condition for liburing
bsbernd Jul 21, 2025
e915a28
Split fuse-io-uring startup
bsbernd Jul 20, 2025
898def7
fuse_uring_i.h: Include errno.h
bsbernd Jul 21, 2025
7e2dc4a
high level: Remove the nullpath_ok log message
bsbernd Jul 21, 2025
db74ec7
mount_bsd.c: Actually report mount failures back to caller
arrowd Jul 24, 2025
95b9d3b
Update issue templates
bsbernd Aug 2, 2025
ba8a3a4
build(deps): bump github/codeql-action from 3.29.3 to 3.29.5
dependabot[bot] Aug 5, 2025
33ec237
build(deps): bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
2454ff1
build(deps): bump github/codeql-action from 3.29.7 to 3.29.8
dependabot[bot] Aug 12, 2025
42b9b3b
fuse_loop_mt.c: fix close-on-exec flag on clone fd
CismonX Aug 12, 2025
a63fc71
tests: move struct size assertions into a test
CismonX Aug 19, 2025
8b8ce5a
build(deps): bump github/codeql-action from 3.29.8 to 3.29.10
dependabot[bot] Aug 19, 2025
bd8d8cd
io-uring startup: Fix spinning and variable read
bsbernd Aug 18, 2025
210d92f
fuse-io-uring: Fix double count of ring_pool->failed_threads
bsbernd Aug 18, 2025
253ea91
fuse-io-uring: Release io-uring resources on io-uring startup failure
bsbernd Aug 18, 2025
d52ae4f
Allow applications to retrieve the req payload (io-uring only)
bsbernd May 28, 2025
7e6cdc7
send_reply_uring: Avoid memcpy if src and dest are identical
bsbernd May 28, 2025
c7c5dbe
Fix passthrough_hp.cc indentation
bsbernd Aug 22, 2025
63579df
build(deps): bump github/codeql-action from 3.29.10 to 3.29.11
dependabot[bot] Aug 26, 2025
49ad73a
build(deps): bump github/codeql-action from 3.29.11 to 3.30.1
dependabot[bot] Sep 8, 2025
3ff309e
build(deps): bump actions/setup-python from 5 to 6
dependabot[bot] Sep 8, 2025
2317d86
libfuse: fix COPY_FILE_RANGE interface
Aug 5, 2025
939fc0d
build(deps): bump github/codeql-action from 3.30.1 to 3.30.3
dependabot[bot] Sep 15, 2025
6e4557c
libfuse: don't put HAVE_STATX in a public header
Sep 16, 2025
52a633a
fuse_lowlevel.c: allow passing ops as NULL
In-line Sep 9, 2025
3e2cd9e
fuse_log: Add __attribute__((format(printf, ) and fix warnings
bsbernd Sep 18, 2025
50d1bec
io-uring: re-initialize fields in struct fuse_req
bsbernd Sep 18, 2025
30bf3c8
fuse_loop_mt: Don't create new workers before init is received
bsbernd Aug 31, 2025
59cf26a
FUSE_INIT handler: Set got_init only shortly before send_reply_ok
bsbernd Sep 22, 2025
4337029
build(deps): bump github/codeql-action from 3.30.3 to 3.30.5
dependabot[bot] Sep 29, 2025
382b17d
Fix missing \n termination in fusermount_posix_spawn()
bsbernd Sep 30, 2025
75e32d9
Fixup passthrough_ll.c documentation
z-s-e Oct 5, 2025
e12762b
build(deps): bump github/codeql-action from 3.30.5 to 3.30.6
dependabot[bot] Oct 6, 2025
564d79e
fuse_lowlevel.h: Fix doc typo
z-s-e Oct 12, 2025
36a1c49
build(deps): bump github/codeql-action from 3.30.6 to 4.30.8
dependabot[bot] Oct 13, 2025
2bb125e
build(deps): bump github/codeql-action from 4.30.8 to 4.30.9
dependabot[bot] Oct 20, 2025
f7da4e9
init: fix io-uring mount hang
joannekoong Oct 23, 2025
bf3dd15
fusermount: count mounts with listmount and statmount
blinsay Oct 22, 2025
fd57ba3
fuse_lowlevel.h: remove incorrect documentation (#1357)
z-s-e Oct 29, 2025
c216833
build(deps): bump github/codeql-action from 4.30.9 to 4.31.0
dependabot[bot] Oct 27, 2025
e2886cb
Add FUSE_COPY_FILE_RANGE_64 to doc/libfuse-operations.txt
bsbernd Nov 5, 2025
6247606
build(deps): bump github/codeql-action from 4.31.0 to 4.31.2
dependabot[bot] Nov 3, 2025
f58d4c5
tests: fix a race in wait_for_mount()
Nov 10, 2025
c71727d
build(deps): bump codespell-project/actions-codespell from 2.1 to 2.2
dependabot[bot] Nov 10, 2025
6c9a4d6
build(deps): bump github/codeql-action from 4.31.2 to 4.31.3
dependabot[bot] Nov 17, 2025
0fcaec3
build(deps): bump actions/checkout from 5.0.0 to 5.0.1
dependabot[bot] Nov 17, 2025
8ad076e
Initialize fuse_entry_param in fuse_lib_lookup()
bsbernd Nov 17, 2025
1e19235
example/passthrough_hp: fix race between forget_one and do_lookup
Nov 22, 2025
02c0fc6
example/passthrough_hp: fix race in forget_one()
Nov 25, 2025
ab5033f
example/passthrough_hp: fix debug output in forget_one
Nov 25, 2025
6268c66
lib/fuse.c: fix deallocation in fuse_session_loop_remember
amonakov Nov 26, 2025
e9a81fd
build(deps): bump actions/checkout from 5.0.1 to 6.0.0
dependabot[bot] Nov 24, 2025
f1a375e
build(deps): bump github/codeql-action from 4.31.3 to 4.31.5
dependabot[bot] Nov 24, 2025
4ed0ed7
fuse-io-uring: fix narrowing integer conversion of commit_id
lostjeffle Aug 11, 2025
f96ec67
build(deps): bump github/codeql-action from 4.31.5 to 4.31.6
dependabot[bot] Dec 2, 2025
7bf0995
Don't yield zero d_ino with adaptive readdirplus
vasi Nov 24, 2025
e1525c4
Clarify that use_ino takes priority over FUSE_FILL_DIR_PLUS
vasi Dec 2, 2025
c2fb674
build(deps): bump actions/checkout from 6.0.0 to 6.0.1
dependabot[bot] Dec 8, 2025
4f81b84
build(deps): bump github/codeql-action from 4.31.6 to 4.31.7
dependabot[bot] Dec 8, 2025
a6fdf8c
Update fusermount.c
WekaJosh Dec 3, 2025
033e0c3
build(deps): bump github/codeql-action from 4.31.7 to 4.31.8
dependabot[bot] Dec 15, 2025
2bb27d8
fuse-io-uring: Handle EAGAIN/EINTR in fuse-io-uring
bsbernd Nov 23, 2025
834a496
fuse-io-uring: Function rename and split into two function
bsbernd Dec 14, 2025
b9cae49
fuse-io-uring: Initialize queue->eventfd
bsbernd Dec 14, 2025
8e536dc
fuse-io-uring: Add a lock around io_uring_submit / io_uring_submit_an…
bsbernd Dec 14, 2025
4dea65b
Add signify verification in make_release_tarball.sh
bsbernd Aug 12, 2025
8bfc50d
Prepare 3.18.0 release
bsbernd Dec 18, 2025
9157d99
prepare 3.18.0 release v2
bsbernd Dec 18, 2025
98f94e0
Fix fuse version script / 3.17.3 to 3.18
bsbernd Dec 20, 2025
c35865b
Add an ABI check for the last tag of the previous release
bsbernd Dec 20, 2025
2a6da8c
Prepare the 3.18.1 release
bsbernd Dec 20, 2025
7beb86c
fuse-io-uring: Fix NULL deref and memory leak in fuse_uring_init_queue
abhinavagarwal07 Mar 17, 2026
49fcd89
fuse-io-uring: Fix UAF and NULL deref in startup error path
abhinavagarwal07 Mar 16, 2026
0338447
Prepare 3.18.2 release
bsbernd Mar 18, 2026
e6ed92d
Merge upstream libfuse fuse-3.18.2
mchaarawi Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 62 additions & 45 deletions .dir-locals.el
Original file line number Diff line number Diff line change
@@ -1,47 +1,64 @@
((python-mode . ((indent-tabs-mode . nil)))
(autoconf-mode . ((indent-tabs-mode . t)))
(c++-mode . ((c-file-style . "k&r")
(indent-tabs-mode . nil)
(c-basic-offset . 4)
(c-file-offsets .
((block-close . 0)
(brace-list-close . 0)
(brace-list-entry . 0)
(brace-list-intro . +)
(case-label . 0)
(class-close . 0)
(defun-block-intro . +)
(defun-close . 0)
(defun-open . 0)
(else-clause . 0)
(inclass . +)
(label . 0)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
(topmost-intro . 0)))))
(c-mode . ((c-file-style . "stroustrup")
(indent-tabs-mode . t)
(tab-width . 8)
(c++-mode . ((c-file-style . "linux-kernel")
(c-basic-offset . 8)
(c-label-minimum-indentation . 0)
(c-offsets-alist . (
(arglist-close . c-lineup-arglist-tabs-only)
(arglist-cont-nonempty .
(c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
(arglist-intro . +)
(brace-list-intro . +)
(c . c-lineup-C-comments)
(case-label . 0)
(comment-intro . c-lineup-comment)
(cpp-define-intro . +)
(cpp-macro . -1000)
(cpp-macro-cont . +)
(defun-block-intro . +)
(else-clause . 0)
(func-decl-cont . +)
(inclass . +)
(inher-cont . c-lineup-multi-inher)
(knr-argdecl-intro . 0)
(label . -1000)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
))
(indent-tabs-mode . t)
(show-trailing-whitespace . t)
))
(c-mode . ((c-file-style . "linux-kernel")
(c-basic-offset . 8)
(c-file-offsets .
((block-close . 0)
(brace-list-close . 0)
(brace-list-entry . 0)
(brace-list-intro . +)
(case-label . 0)
(class-close . 0)
(defun-block-intro . +)
(defun-close . 0)
(defun-open . 0)
(else-clause . 0)
(inclass . +)
(label . 0)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
(topmost-intro . 0))))))
(c-label-minimum-indentation . 0)
(c-offsets-alist . (
(arglist-close . c-lineup-arglist-tabs-only)
(arglist-cont-nonempty .
(c-lineup-gcc-asm-reg c-lineup-arglist-tabs-only))
(arglist-intro . +)
(brace-list-intro . +)
(c . c-lineup-C-comments)
(case-label . 0)
(comment-intro . c-lineup-comment)
(cpp-define-intro . +)
(cpp-macro . -1000)
(cpp-macro-cont . +)
(defun-block-intro . +)
(else-clause . 0)
(func-decl-cont . +)
(inclass . +)
(inher-cont . c-lineup-multi-inher)
(knr-argdecl-intro . 0)
(label . -1000)
(statement . 0)
(statement-block-intro . +)
(statement-case-intro . +)
(statement-cont . +)
(substatement . +)
))
(indent-tabs-mode . t)
(show-trailing-whitespace . t)
))
)
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Debian]
- Version [e.g. 12]

**Additional context**
Add any other context about the problem here.
16 changes: 0 additions & 16 deletions .github/ISSUE_TEMPLATE/issue-report.md

This file was deleted.

17 changes: 9 additions & 8 deletions .github/workflows/abicheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@ jobs:
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -y install abigail-tools clang gcc
sudo apt-get -y install abigail-tools clang gcc liburing-dev libnuma-dev

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: current

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: previous
ref: ${{ github.event.pull_request.base.ref }}

- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'

Expand All @@ -59,7 +59,8 @@ jobs:
- name: Run abidiff
run: abidiff
--no-added-syms
--headers-dir1 previous/include/
--headers-dir2 current/include/
previous/build/lib/libfused.so
current/build/lib/libfused.so
--suppressions current/.github/workflows/abidiff_suppressions.abignore
--headers-dir1 previous/include/
--headers-dir2 current/include/
previous/build/lib/libfuse3.so
current/build/lib/libfuse3.so
76 changes: 76 additions & 0 deletions .github/workflows/abicheck_prev_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
name: 'libfuse ABI check against previous major release'

on:
push:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc.
pull_request:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*'
permissions:
contents: read

jobs:
abi:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- ubuntu-latest

steps:
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get -y install abigail-tools clang gcc liburing-dev libnuma-dev

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: current
fetch-depth: 0 # Fetch all history and tags

- name: Determine previous major release tag
id: prev_release
run: |
cd current
chmod +x .github/workflows/find_previous_release_tag.sh
PREV_TAG=$(.github/workflows/find_previous_release_tag.sh)
echo "prev_tag=$PREV_TAG" >> $GITHUB_OUTPUT

- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
path: previous
ref: ${{ steps.prev_release.outputs.prev_tag }}

- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: '3.12'

- name: Build current
working-directory: current
run: |
pip install -r requirements.txt
meson setup build --buildtype=debug
meson compile -C build

- name: Build previous
working-directory: previous
run: |
echo "Previous release tag: ${{ steps.prev_release.outputs.prev_tag }}"
echo "Commit-id of previous release: $(git show HEAD)"
pip install -r requirements.txt
meson setup build --buildtype=debug
meson compile -C build

- name: Run abidiff
run: abidiff
--no-added-syms
--suppressions current/.github/workflows/abidiff_suppressions.abignore
--headers-dir1 previous/include/
--headers-dir2 current/include/
previous/build/lib/libfuse3.so
current/build/lib/libfuse3.so
36 changes: 36 additions & 0 deletions .github/workflows/abidiff_suppressions.abignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Suppression file for abidiff false positives in libfuse
# This file suppresses ABI changes that are actually compatible but flagged by abidiff

[suppress_type]
# Suppress the fuse_conn_info reserved array transformation
# This change is ABI-compatible: uint32_t[16] -> uint16_t request_timeout + uint16_t[31]
# Both use exactly 64 bytes (16*4 = 32*2 = 64 bytes)
name = fuse_conn_info
# Suppress changes to the reserved field that are size/offset related
change_kind = size-or-offset-change
has_data_member_inserted_at = offset_in_bits(512)

[suppress_type]
# Also suppress the general struct size change for fuse_conn_info
# since the total size remains the same (128 bytes) by a static assertion
# in the code
name = fuse_conn_info
change_kind = size-change

[suppress_type]
# Suppress ALL changes to fuse_operations struct
# These are backward compatible due to the op_size mechanism in fuse_main()
# Applications pass sizeof(struct fuse_operations) at compile time,
# and the library uses memcpy(&fs->op, op, op_size) to safely copy only
# the fields the application knows about. New fields remain NULL.
name = fuse_operations
has_data_member_inserted_at = end
has_size_change = yes

[suppress_type]
# Suppress ALL changes to fuse_lowlevel_ops struct
# These are backward compatible due to the op_size mechanism in fuse_session_new()
# Same pattern as fuse_operations - op_size controls safe copying
name = fuse_lowlevel_ops
has_data_member_inserted_at = end
has_size_change = yes
33 changes: 33 additions & 0 deletions .github/workflows/bsd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
# TODO: integrate into matrix.os in pr-ci.yml
# TODO: add NetBSD and DragonFlyBSD
name: 'Build (FreeBSD)'
on:
push:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*'
pull_request:
branches:
- master
- 'fuse-[0-9]+.[0-9]+*'

jobs:
build_bsd:
runs-on: ubuntu-latest
name: Build under FreeBSD
steps:
- name: Checkout
uses: actions/checkout@v6.0.1
- name: Build
uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: |
pkg install -y meson ninja
run: |
mkdir build
cd build
meson setup ..
ninja -v
...
19 changes: 12 additions & 7 deletions .github/workflows/checkpatch.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,16 @@
name: Checkpatch

on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened]
branches:
- master
permissions:
contents: read

jobs:
checkpatch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- name: Install dependencies
Expand All @@ -23,14 +19,23 @@ jobs:
sudo apt-get install -y perl
- name: Run checkpatch.pl
run: |
if [ -z "${{ github.base_ref }}" ]; then
echo "Not a pull request, skipping checkpatch"
exit 0
fi
git fetch origin ${{ github.base_ref }}
base_commit=$(git merge-base origin/${{ github.base_ref }} HEAD)
echo "Base commit: $base_commit"
echo "Running checkpatch.pl on all commits in the PR:"
git rev-list --reverse $base_commit..HEAD | while read commit; do
# Skip dependabot commits - we do not have control over it
if git log -1 --format='%ae' $commit | grep -q "dependabot"; then
echo "Skipping dependabot commit: $commit"
continue
fi
subject=$(git log -1 --format=%s $commit)
echo "Checking commit: $commit - $subject"
if ! ./checkpatch.pl --no-tree --ignore MAINTAINERS,SPDX_LICENSE_TAG,COMMIT_MESSAGE,FILE_PATH_CHANGES,EMAIL_SUBJECT,AVOID_EXTERNS,GIT_COMMIT_ID,ENOSYS_SYSCALL -g $commit; then
if ! ./checkpatch.pl --max-line-length=100 --no-tree --ignore MAINTAINERS,SPDX_LICENSE_TAG,COMMIT_MESSAGE,FILE_PATH_CHANGES,EMAIL_SUBJECT,AVOID_EXTERNS,GIT_COMMIT_ID,ENOSYS_SYSCALL,ENOSYS,FROM_SIGN_OFF_MISMATCH,QUOTED_COMMIT_ID,PREFER_ATTRIBUTE_ALWAYS_UNUSED,PREFER_DEFINED_ATTRIBUTE_MACRO -g $commit; then
echo "checkpatch.pl found issues in commit $commit - $subject"
exit 1
fi
Expand Down
Loading
Loading