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()
Showing the changes to include (2 of 26 files). Show all
Unified · Split
| @@ -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 | ||
| 2824 | extern void ihold(struct inode * inode); | 2825 | extern void ihold(struct inode * inode); |
| 2825 | extern void iput(struct inode *); | 2826 | extern void iput(struct inode *); |
| 2827 | void iput_not_last(struct inode *); | ||
| 2826 | int inode_update_timestamps(struct inode *inode, int flags); | 2828 | int inode_update_timestamps(struct inode *inode, int flags); |
| 2827 | int generic_update_time(struct inode *, int); | 2829 | int generic_update_time(struct inode *, int); |
| 2828 | 2830 | ||
| @@ -3423,8 +3425,8 @@ static inline void remove_inode_hash(struct inode *inode) · 594 unmodified lines | |||
| 3423 | extern void inode_sb_list_add(struct inode *inode); | 3425 | extern void inode_sb_list_add(struct inode *inode); |
| 3424 | extern void inode_add_lru(struct inode *inode); | 3426 | extern void inode_add_lru(struct inode *inode); |
| 3425 | 3427 | ||
| 3426 | extern int sb_set_blocksize(struct super_block *, int); | 3428 | int sb_set_blocksize(struct super_block *sb, int size); |
| 3427 | extern int sb_min_blocksize(struct super_block *, int); | 3429 | int __must_check sb_min_blocksize(struct super_block *sb, int size); |
| 3428 | 3430 | ||
| 3429 | int generic_file_mmap(struct file *, struct vm_area_struct *); | 3431 | int generic_file_mmap(struct file *, struct vm_area_struct *); |
| 3430 | int generic_file_mmap_prepare(struct vm_area_desc *desc); | 3432 | 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 | |||
| 3606 | extern void iterate_supers(void (*f)(struct super_block *, void *), void *arg); | 3608 | extern void iterate_supers(void (*f)(struct super_block *, void *), void *arg); |
| 3607 | extern void iterate_supers_type(struct file_system_type *, | 3609 | extern void iterate_supers_type(struct file_system_type *, |
| 3608 | void (*)(struct super_block *, void *), void *); | 3610 | void (*)(struct super_block *, void *), void *); |
| 3609 | void filesystems_freeze(void); | 3611 | void filesystems_freeze(bool freeze_all); |
| 3610 | void filesystems_thaw(void); | 3612 | void filesystems_thaw(void); |
| 3611 | 3613 | ||
| 3612 | extern int dcache_dir_open(struct inode *, struct file *); | 3614 | extern int dcache_dir_open(struct inode *, struct file *); |
| @@ -197,7 +197,7 @@ struct statmount { · 196 unmodified lines | |||
| 197 | */ | 197 | */ |
| 198 | struct mnt_id_req { | 198 | struct 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; |