Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

affs: free affs_sb_info with kfree_rcu()

one of the flags in it is used by ->d_hash()/->d_compare()

Reviewed-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 529f89a9 cdb67fde

+2 -1
+1
fs/affs/affs.h
··· 105 105 int work_queued; /* non-zero delayed work is queued */ 106 106 struct delayed_work sb_work; /* superblock flush delayed work */ 107 107 spinlock_t work_lock; /* protects sb_work and work_queued */ 108 + struct rcu_head rcu; 108 109 }; 109 110 110 111 #define AFFS_MOUNT_SF_INTL 0x0001 /* International filesystem. */
+1 -1
fs/affs/super.c
··· 640 640 affs_brelse(sbi->s_root_bh); 641 641 kfree(sbi->s_prefix); 642 642 mutex_destroy(&sbi->s_bmlock); 643 - kfree(sbi); 643 + kfree_rcu(sbi, rcu); 644 644 } 645 645 } 646 646