From e2df577a7ca0c4b06d9eb36eb79138e34cc03088 Mon Sep 17 00:00:00 2001 From: Bernd Schubert Date: Tue, 2 Apr 2024 23:52:18 +0200 Subject: 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 --- include/fuse_common.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/fuse_common.h') 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) -- cgit v1.2.3