1. 29 Aug, 2023 2 commits
    • Christian Brauner's avatar
      super: ensure valid info · dc3216b1
      Christian Brauner authored
      For keyed filesystems that recycle superblocks based on s_fs_info or
      information contained therein s_fs_info must be kept as long as the
      superblock is on the filesystem type super list. This isn't guaranteed
      as s_fs_info will be freed latest in sb->kill_sb().
      
      The fix is simply to perform notification and list removal in
      kill_anon_super(). Any filesystem needs to free s_fs_info after they
      call the kill_*() helpers. If they don't they risk use-after-free right
      now so fixing it here is guaranteed that s_fs_info remain valid.
      
      For block backed filesystems notifying in pass sb->kill_sb() in
      deactivate_locked_super() remains unproblematic and is required because
      multiple other block devices can be shut down after kill_block_super()
      has been called from a filesystem's sb->kill_sb() handler. For example,
      ext4 and xfs close additional devices. Block based filesystems don't
      depend on s_fs_info (btrfs does use s_fs_info but also uses
      kill_anon_super() and not kill_block_super().).
      
      Sorry for that braino. Goal should be to unify this behavior during this
      cycle obviously. But let's please do a simple bugfix now.
      
      Fixes: 2c18a63b ("super: wait until we passed kill super")
      Fixes: syzbot+5b64180f8d9e39d3f061@syzkaller.appspotmail.com
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: syzbot+5b64180f8d9e39d3f061@syzkaller.appspotmail.com
      Message-Id: <20230828-vfs-super-fixes-v1-2-b37a4a04a88f@kernel.org>
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      dc3216b1
    • Christian Brauner's avatar
      super: move lockdep assert · 345a5c4a
      Christian Brauner authored
      Fix braino and move the lockdep assertion after put_super() otherwise we
      risk a use-after-free.
      
      Fixes: 2c18a63b ("super: wait until we passed kill super")
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Message-Id: <20230828-vfs-super-fixes-v1-1-b37a4a04a88f@kernel.org>
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      345a5c4a
  2. 23 Aug, 2023 2 commits
  3. 22 Aug, 2023 1 commit
  4. 21 Aug, 2023 15 commits
  5. 11 Aug, 2023 7 commits
  6. 10 Aug, 2023 13 commits