aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBernd Schubert <bschubert@ddn.com>2024-04-02 23:52:18 +0200
committerGitHub <noreply@github.com>2024-04-02 23:52:18 +0200
commite2df577a7ca0c4b06d9eb36eb79138e34cc03088 (patch)
tree4cb966aed1451c5462cad20a0e50c2c4e9b60f8c /include
parent3e283a1bcbc4ec78fb45c4a8b3f683b8e3082c53 (diff)
downloadlibfuse-e2df577a7ca0c4b06d9eb36eb79138e34cc03088.tar.gz
Add more documentation for FUSE_CAP_EXPORT_SUPPORT (#917)
Add more documentation for FUSE_CAP_EXPORT_SUPPORT Also remove the flag from passthrough_ll.c and passthrough_hp.cc as these implementations do _not_ handle that flag. They just cast fuse_ino_t to an inode and cause a heap buffer overflow for unknown objects (simplest reproducer are the examples in "man 2 open_by_handle_at", but to unmount/mount the file system after name_to_handle_at and before open_by_handle_at). Fixes https://github.com/libfuse/libfuse/issues/838 --------- Co-authored-by: Nikolaus Rath <Nikolaus@rath.org>
Diffstat (limited to 'include')
-rw-r--r--include/fuse_common.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/fuse_common.h b/include/fuse_common.h
index f052b67..6a060fd 100644
--- a/include/fuse_common.h
+++ b/include/fuse_common.h
@@ -183,6 +183,11 @@ struct fuse_loop_config_v1 {
/**
* Indicates that the filesystem supports lookups of "." and "..".
*
+ * When this flag is set, the filesystem must be prepared to receive requests
+ * for invalid inodes (i.e., for which a FORGET request was received or
+ * which have been used in a previous instance of the filesystem daemon) and
+ * must not reuse node-ids (even when setting generation numbers).
+ *
* This feature is disabled by default.
*/
#define FUSE_CAP_EXPORT_SUPPORT (1 << 4)