mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
f2fs: fix wrong pointer access during try_to_free_nids
If we release the lock in list_for_each_entry_safe, we can lose the tmp pointer by alloc_nid. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
80c545055d
commit
f7409d0fae
1 changed files with 1 additions and 3 deletions
|
|
@ -1664,11 +1664,9 @@ int try_to_free_nids(struct f2fs_sb_info *sbi, int nr_shrink)
|
|||
if (i->state == NID_ALLOC)
|
||||
continue;
|
||||
__del_from_free_nid_list(nm_i, i);
|
||||
nm_i->fcnt--;
|
||||
spin_unlock(&nm_i->free_nid_list_lock);
|
||||
kmem_cache_free(free_nid_slab, i);
|
||||
nm_i->fcnt--;
|
||||
nr_shrink--;
|
||||
spin_lock(&nm_i->free_nid_list_lock);
|
||||
}
|
||||
spin_unlock(&nm_i->free_nid_list_lock);
|
||||
mutex_unlock(&nm_i->build_lock);
|
||||
|
|
|
|||
Loading…
Reference in a new issue