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
26892689 #define FS_ALLOW_IDMAP 32 /* FS has been updated to handle vfs idmappings. */
26902690 #define FS_MGTIME 64 /* FS uses multigrain timestamps */
26912691 #define FS_LBS 128 /* FS supports LBS */
2692+#define FS_POWER_FREEZE 256 /* Always freeze on suspend/hibernate */
26922693 #define FS_RENAME_DOES_D_MOVE 32768 /* FS will handle d_move() during rename() internally. */
26932694 int (*init_fs_context)(struct fs_context *);
26942695 const struct fs_parameter_spec *parameters;
@@ -2823,6 +2824,7 @@ extern int current_umask(void); · 128 unmodified lines
28232824
28242825 extern void ihold(struct inode * inode);
28252826 extern void iput(struct inode *);
2827+void iput_not_last(struct inode *);
28262828 int inode_update_timestamps(struct inode *inode, int flags);
28272829 int generic_update_time(struct inode *, int);
28282830
@@ -3423,8 +3425,8 @@ static inline void remove_inode_hash(struct inode *inode) · 594 unmodified lines
34233425 extern void inode_sb_list_add(struct inode *inode);
34243426 extern void inode_add_lru(struct inode *inode);
34253427
3426−extern int sb_set_blocksize(struct super_block *, int);
3427−extern int sb_min_blocksize(struct super_block *, int);
3428+int sb_set_blocksize(struct super_block *sb, int size);
3429+int __must_check sb_min_blocksize(struct super_block *sb, int size);
34283430
34293431 int generic_file_mmap(struct file *, struct vm_area_struct *);
34303432 int 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
36063608 extern void iterate_supers(void (*f)(struct super_block *, void *), void *arg);
36073609 extern void iterate_supers_type(struct file_system_type *,
36083610 void (*)(struct super_block *, void *), void *);
3609−void filesystems_freeze(void);
3611+void filesystems_freeze(bool freeze_all);
36103612 void filesystems_thaw(void);
36113613
36123614 extern int dcache_dir_open(struct inode *, struct file *);
include/uapi/linux/mount.h+1−1
@@ -197,7 +197,7 @@ struct statmount { · 196 unmodified lines
197197 */
198198 struct mnt_id_req {
199199 __u32 size;
200− __u32 spare;
200+ __u32 mnt_ns_fd;
201201 __u64 mnt_id;
202202 __u64 param;
203203 __u64 mnt_ns_id;