[GIT PULL for v6.6] super fixes

From: Christian Brauner
Date: Tue Aug 29 2023 - 06:53:23 EST


Hey Linus,

/* Summary */
This contains two follow-up fixes for the super work this cycle:

* Move a misplaced lockep assertion before we potentially free the
object containing the lock.

* Ensure that filesystems which match superblocks in sget{_fc}() based
on sb->s_fs_info are guaranteed to see a valid sb->s_fs_info as long
as a superblock still appears on the filesystem type's superblock
list.

What we want as a proper solution for next cycle is to split
sb->free_sb() out of sb->kill_sb() so that we can simply call
kill_super_notify() after sb->kill_sb() but before sb->free_sb().
Currently, this is lumped together in sb->kill_sb().

/* Testing */
clang: Ubuntu clang version 15.0.7
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on v6.6-vfs.super and have been sitting in
linux-next. No build failures or warnings were observed. All old and new
tests in selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit cd4284cfd3e11c7a49e4808f76f53284d47d04dd:

Merge tag 'vfs-6.6-merge-3' of ssh://gitolite.kernel.org/pub/scm/fs/xfs/xfs-linux (2023-08-23 13:09:22 +0200)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/v6.6-vfs.super.fixes

for you to fetch changes up to dc3216b1416056b04712e53431f6e9aefdc83177:

super: ensure valid info (2023-08-29 10:13:04 +0200)

Please consider pulling these changes from the signed v6.6-vfs.super.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
v6.6-vfs.super.fixes

----------------------------------------------------------------
Christian Brauner (2):
super: move lockdep assert
super: ensure valid info

fs/super.c | 51 +++++++++++++++++++++++++++++++--------------------
1 file changed, 31 insertions(+), 20 deletions(-)