History

Merge tag 'fuse-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse

Pull fuse updates from Miklos Szeredi: - Fix a page locking bug in write (introduced in 2.6.26) - Allow sgid bit to be killed in setacl() - Miscellaneous fixes and cleanups * tag 'fuse-update-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: cuse: simplify refcount cuse: prevent clone virtiofs: fix userns virtiofs: remove useless function virtiofs: split requests that exceed virtqueue size virtiofs: fix memory leak in virtio_fs_probe() fuse: invalidate attrs when page writeback completes fuse: add a flag FUSE_SETXATTR_ACL_KILL_SGID to kill SGID fuse: extend FUSE_SETXATTR request fuse: fix matching of FUSE_DEV_IOC_CLONE command fuse: fix a typo fuse: don't zero pages twice fuse: fix typo for fuse_conn.max_pages comment fuse: fix write deadlock

Linus Torvalds committed 5 years ago

Commit 9ec1efb2 parents d652502 3c9c1439 files · +111 −57Browse files

Showing the changes to include/uapi/linux (1 of 9 files). Show all

Unified · Split

include/uapi/linux/fuse.h+14−0
@@ -179,6 +179,8 @@ · 178 unmodified lines
179179 * 7.33
180180 * - add FUSE_HANDLE_KILLPRIV_V2, FUSE_WRITE_KILL_SUIDGID, FATTR_KILL_SUIDGID
181181 * - add FUSE_OPEN_KILL_SUIDGID
182+ * - extend fuse_setxattr_in, add FUSE_SETXATTR_EXT
183+ * - add FUSE_SETXATTR_ACL_KILL_SGID
182184 */
183185
184186 #ifndef _LINUX_FUSE_H
@@ -330,6 +332,7 @@ struct fuse_file_lock { · 145 unmodified lines
330332 * does not have CAP_FSETID. Additionally upon
331333 * write/truncate sgid is killed only if file has group
332334 * execute permission. (Same as Linux VFS behavior).
335+ * FUSE_SETXATTR_EXT: Server supports extended struct fuse_setxattr_in
333336 */
334337 #define FUSE_ASYNC_READ (1 << 0)
335338 #define FUSE_POSIX_LOCKS (1 << 1)
@@ -360,6 +363,7 @@ struct fuse_file_lock { · 24 unmodified lines
360363 #define FUSE_MAP_ALIGNMENT (1 << 26)
361364 #define FUSE_SUBMOUNTS (1 << 27)
362365 #define FUSE_HANDLE_KILLPRIV_V2 (1 << 28)
366+#define FUSE_SETXATTR_EXT (1 << 29)
363367
364368 /**
365369 * CUSE INIT request/reply flags
@@ -451,6 +455,12 @@ struct fuse_file_lock { · 85 unmodified lines
451455 */
452456 #define FUSE_OPEN_KILL_SUIDGID (1 << 0)
453457
458+/**
459+ * setxattr flags
460+ * FUSE_SETXATTR_ACL_KILL_SGID: Clear SGID when system.posix_acl_access is set
461+ */
462+#define FUSE_SETXATTR_ACL_KILL_SGID (1 << 0)
463+
454464 enum fuse_opcode {
455465 FUSE_LOOKUP = 1,
456466 FUSE_FORGET = 2, /* no reply */
@@ -681,9 +691,13 @@ struct fuse_fsync_in { · 224 unmodified lines
681691 uint32_t padding;
682692 };
683693
694+#define FUSE_COMPAT_SETXATTR_IN_SIZE 8
695+
684696 struct fuse_setxattr_in {
685697 uint32_t size;
686698 uint32_t flags;
699+ uint32_t setxattr_flags;
700+ uint32_t padding;
687701 };
688702
689703 struct fuse_getxattr_in {