[PATCH 03/11] vfs: Use dlock list for superblock's inode list

Kent Overstreet kent.overstreet at linux.dev
Thu Dec 7 05:03:51 UTC 2023


On Thu, Dec 07, 2023 at 03:59:10PM +1100, Dave Chinner wrote:
> On Thu, Dec 07, 2023 at 02:40:24AM +0000, Al Viro wrote:
> > On Wed, Dec 06, 2023 at 05:05:32PM +1100, Dave Chinner wrote:
> > 
> > > @@ -303,6 +303,7 @@ static void destroy_unused_super(struct super_block *s)
> > >  	super_unlock_excl(s);
> > >  	list_lru_destroy(&s->s_dentry_lru);
> > >  	list_lru_destroy(&s->s_inode_lru);
> > > +	free_dlock_list_heads(&s->s_inodes);
> > >  	security_sb_free(s);
> > >  	put_user_ns(s->s_user_ns);
> > >  	kfree(s->s_subtype);
> > 
> > Umm...  Who's going to do that on normal umount?
> 
> Huh. So neither KASAN nor kmemleak has told me that s->s-inodes was
> being leaked.  I'm guessing a rebase sometime in the past silently
> dropped a critical hunk from deactivate_locked_super() in the bit
> bucket, but as nothing since whenever that happened has failed or
> flagged a memory leak I didn't notice.
> 
> Such great tools we have......

kmemleak has always seemed flakey to me (as one would expect, it's
difficult code to test). If we can ever get memory allocation profiling
merged - it won't be a direct replacement but it'll be more reliable.



More information about the Linux-security-module-archive mailing list