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
179 * 7.33179 * 7.33
180 * - add FUSE_HANDLE_KILLPRIV_V2, FUSE_WRITE_KILL_SUIDGID, FATTR_KILL_SUIDGID180 * - add FUSE_HANDLE_KILLPRIV_V2, FUSE_WRITE_KILL_SUIDGID, FATTR_KILL_SUIDGID
181 * - add FUSE_OPEN_KILL_SUIDGID181 * - add FUSE_OPEN_KILL_SUIDGID
182 * - extend fuse_setxattr_in, add FUSE_SETXATTR_EXT
183 * - add FUSE_SETXATTR_ACL_KILL_SGID
182 */184 */
183 185
184#ifndef _LINUX_FUSE_H186#ifndef _LINUX_FUSE_H
@@ -330,6 +332,7 @@ struct fuse_file_lock { · 145 unmodified lines
330 * does not have CAP_FSETID. Additionally upon332 * does not have CAP_FSETID. Additionally upon
331 * write/truncate sgid is killed only if file has group333 * write/truncate sgid is killed only if file has group
332 * execute permission. (Same as Linux VFS behavior).334 * execute permission. (Same as Linux VFS behavior).
335 * FUSE_SETXATTR_EXT: Server supports extended struct fuse_setxattr_in
333 */336 */
334#define FUSE_ASYNC_READ (1 << 0)337#define FUSE_ASYNC_READ (1 << 0)
335#define FUSE_POSIX_LOCKS (1 << 1)338#define FUSE_POSIX_LOCKS (1 << 1)
@@ -360,6 +363,7 @@ struct fuse_file_lock { · 24 unmodified lines
360#define FUSE_MAP_ALIGNMENT (1 << 26)363#define FUSE_MAP_ALIGNMENT (1 << 26)
361#define FUSE_SUBMOUNTS (1 << 27)364#define FUSE_SUBMOUNTS (1 << 27)
362#define FUSE_HANDLE_KILLPRIV_V2 (1 << 28)365#define FUSE_HANDLE_KILLPRIV_V2 (1 << 28)
366#define FUSE_SETXATTR_EXT (1 << 29)
363 367
364/**368/**
365 * CUSE INIT request/reply flags369 * CUSE INIT request/reply flags
@@ -451,6 +455,12 @@ struct fuse_file_lock { · 85 unmodified lines
451 */455 */
452#define FUSE_OPEN_KILL_SUIDGID (1 << 0)456#define FUSE_OPEN_KILL_SUIDGID (1 << 0)
453 457
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
454enum fuse_opcode {464enum fuse_opcode {
455 FUSE_LOOKUP = 1,465 FUSE_LOOKUP = 1,
456 FUSE_FORGET = 2, /* no reply */466 FUSE_FORGET = 2, /* no reply */
@@ -681,9 +691,13 @@ struct fuse_fsync_in { · 224 unmodified lines
681 uint32_t padding;691 uint32_t padding;
682};692};
683 693
694#define FUSE_COMPAT_SETXATTR_IN_SIZE 8
695
684struct fuse_setxattr_in {696struct fuse_setxattr_in {
685 uint32_t size;697 uint32_t size;
686 uint32_t flags;698 uint32_t flags;
699 uint32_t setxattr_flags;
700 uint32_t padding;
687};701};
688 702
689struct fuse_getxattr_in {703struct fuse_getxattr_in {