History

Merge tag 'vfs-6.18-rc7.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs

Pull vfs fixes from Christian Brauner: - Fix unitialized variable in statmount_string() - Fix hostfs mounting when passing host root during boot - Fix dynamic lookup to fail on cell lookup failure - Fix missing file type when reading bfs inodes from disk - Enforce checking of sb_min_blocksize() calls and update all callers accordingly - Restore write access before closing files opened by open_exec() in binfmt_misc - Always freeze efivarfs during suspend/hibernate cycles - Fix statmount()'s and listmount()'s grab_requested_mnt_ns() helper to actually allow mount namespace file descriptor in addition to mount namespace ids - Fix tmpfs remount when noswap is specified - Switch Landlock to iput_not_last() to remove false-positives from might_sleep() annotations in iput() - Remove dead node_to_mnt_ns() code - Ensure that per-queue kobjects are successfully created * tag 'vfs-6.18-rc7.fixes' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs: landlock: fix splats from iput() after it started calling might_sleep() fs: add iput_not_last() shmem: fix tmpfs reconfiguration (remount) when noswap is set fs/namespace: correctly handle errors returned by grab_requested_mnt_ns power: always freeze efivarfs binfmt_misc: restore write access before closing files opened by open_exec() block: add __must_check attribute to sb_min_blocksize() virtio-fs: fix incorrect check for fsvq->kobj xfs: check the return value of sb_min_blocksize() in xfs_fs_fill_super isofs: check the return value of sb_min_blocksize() in isofs_fill_super exfat: check return value of sb_min_blocksize in exfat_read_boot_sector vfat: fix missing sb_min_blocksize() return value checks mnt: Remove dead code which might prevent from building bfs: Reconstruct file type when loading from disk afs: Fix dynamic lookup to fail on cell lookup failure hostfs: Fix only passing host root in boot stage with new mount fs: Fix uninitialized 'offp' in statmount_string()

Linus Torvalds committed 12 months ago

Commit e7c375b2 parents 418592a e9d50b726 files · +206 −91Browse files

Showing the changes to include (2 of 26 files). Show all

Unified · Split

2 files
  1. include/linux/fs.h +5 −3
  2. include/uapi/linux/mount.h +1 −1
include/linux/fs.h+5−3
@@ -2689,6 +2689,7 @@ struct file_system_type { · 2688 unmodified lines
2689#define FS_ALLOW_IDMAP 32 /* FS has been updated to handle vfs idmappings. */2689#define FS_ALLOW_IDMAP 32 /* FS has been updated to handle vfs idmappings. */
2690#define FS_MGTIME 64 /* FS uses multigrain timestamps */2690#define FS_MGTIME 64 /* FS uses multigrain timestamps */
2691#define FS_LBS 128 /* FS supports LBS */2691#define FS_LBS 128 /* FS supports LBS */
2692#define FS_POWER_FREEZE 256 /* Always freeze on suspend/hibernate */
2692#define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() during rename() internally. */2693#define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() during rename() internally. */
2693 int (*init_fs_context)(struct fs_context *);2694 int (*init_fs_context)(struct fs_context *);
2694 const struct fs_parameter_spec *parameters;2695 const struct fs_parameter_spec *parameters;
@@ -2823,6 +2824,7 @@ extern int current_umask(void); · 128 unmodified lines
2823 2824
2824extern void ihold(struct inode * inode);2825extern void ihold(struct inode * inode);
2825extern void iput(struct inode *);2826extern void iput(struct inode *);
2827void iput_not_last(struct inode *);
2826int inode_update_timestamps(struct inode *inode, int flags);2828int inode_update_timestamps(struct inode *inode, int flags);
2827int generic_update_time(struct inode *, int);2829int generic_update_time(struct inode *, int);
2828 2830
@@ -3423,8 +3425,8 @@ static inline void remove_inode_hash(struct inode *inode) · 594 unmodified lines
3423extern void inode_sb_list_add(struct inode *inode);3425extern void inode_sb_list_add(struct inode *inode);
3424extern void inode_add_lru(struct inode *inode);3426extern void inode_add_lru(struct inode *inode);
3425 3427
3426extern int sb_set_blocksize(struct super_block *, int);3428int sb_set_blocksize(struct super_block *sb, int size);
3427extern int sb_min_blocksize(struct super_block *, int);3429int __must_check sb_min_blocksize(struct super_block *sb, int size);
3428 3430
3429int generic_file_mmap(struct file *, struct vm_area_struct *);3431int generic_file_mmap(struct file *, struct vm_area_struct *);
3430int generic_file_mmap_prepare(struct vm_area_desc *desc);3432int generic_file_mmap_prepare(struct vm_area_desc *desc);
@@ -3606,7 +3608,7 @@ extern void drop_super_exclusive(struct super_block *sb); · 175 unmodified lines
3606extern void iterate_supers(void (*f)(struct super_block *, void *), void *arg);3608extern void iterate_supers(void (*f)(struct super_block *, void *), void *arg);
3607extern void iterate_supers_type(struct file_system_type *,3609extern void iterate_supers_type(struct file_system_type *,
3608 void (*)(struct super_block *, void *), void *);3610 void (*)(struct super_block *, void *), void *);
3609void filesystems_freeze(void);3611void filesystems_freeze(bool freeze_all);
3610void filesystems_thaw(void);3612void filesystems_thaw(void);
3611 3613
3612extern int dcache_dir_open(struct inode *, struct file *);3614extern int dcache_dir_open(struct inode *, struct file *);
include/uapi/linux/mount.h+1−1
@@ -197,7 +197,7 @@ struct statmount { · 196 unmodified lines
197 */197 */
198struct mnt_id_req {198struct mnt_id_req {
199 __u32 size;199 __u32 size;
200 __u32 spare;200 __u32 mnt_ns_fd;
201 __u64 mnt_id;201 __u64 mnt_id;
202 __u64 param;202 __u64 param;
203 __u64 mnt_ns_id;203 __u64 mnt_ns_id;