lkml.org 
[lkml]   [2015]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [f2fs-dev] [PATCH 08/12] f2fs: introduce a shrinker for mounted fs
On Thu, Jul 02, 2015 at 08:32:39PM +0800, Chao Yu wrote:
> > -----Original Message-----
> > From: Jaegeuk Kim [mailto:jaegeuk@kernel.org]
> > Sent: Tuesday, June 30, 2015 2:40 AM
> > To: linux-kernel@vger.kernel.org; linux-fsdevel@vger.kernel.org;
> > linux-f2fs-devel@lists.sourceforge.net
> > Cc: Jaegeuk Kim
> > Subject: [f2fs-dev] [PATCH 08/12] f2fs: introduce a shrinker for mounted fs
> >
> > This patch introduces a shrinker targeting to reduce memory footprint consumed
> > by a number of in-memory f2fs data structures.
> >
> > In addition, it newly adds:
> > - sbi->umount_mutex to avoid data races on shrinker and put_super
> > - sbi->shruinker_run_no to not revisit objects
> >
> > Noteh that the basic implementation was copied from fs/btrfs/shrinker.c
>
> This file seems not exist...
>
> > @@ -1310,6 +1328,7 @@ free_root_inode:
> > dput(sb->s_root);
> > sb->s_root = NULL;
> > free_node_inode:
> > + f2fs_leave_shrinker(sbi);
>
> We should detach shrinker under sbi->umount_mutex.
> Otherwise we will access freed memory in following call path:
>
> mount shrinker
> ->fill_super
> Failed after f2fs_join_shrinker
> ->f2fs_leave_shrinker
> ->f2fs_shrink_scan
> spin_lock
> get sbi pointer
> spin_unlock
> spin_lock
> list_del sbi->s_list
> spin_unlock
> free sbi
> use-after-free for sbi

Right, confirmed this.

Thanks,

>
> Thanks,
>
> ------------------------------------------------------------------------------
> Don't Limit Your Business. Reach for the Cloud.
> GigeNET's Cloud Solutions provide you with the tools and support that
> you need to offload your IT needs and focus on growing your business.
> Configured For All Businesses. Start Your Cloud Today.
> https://www.gigenetcloud.com/
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel


\
 
 \ /
  Last update: 2015-07-04 07:41    [W:0.073 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site