From: Darrick J. Wong Date: Fri, 8 Sep 2017 23:13:25 +0000 (-0700) Subject: mm: kvfree the swap cluster info if the swap file is unsatisfactory X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8606a1a94da5c4e49c0fb28af62d2e75c6747716;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git mm: kvfree the swap cluster info if the swap file is unsatisfactory If initializing a small swap file fails because the swap file has a problem (holes, etc.) then we need to free the cluster info as part of cleanup. Unfortunately a previous patch changed the code to use kvzalloc but did not change all the vfree calls to use kvfree. Found by running generic/357 from xfstests. Link: http://lkml.kernel.org/r/20170831233515.GR3775@magnolia Fixes: 54f180d3c181 ("mm, swap: use kvzalloc to allocate some swap data structures") Signed-off-by: Darrick J. Wong Reviewed-by: "Huang, Ying" Acked-by: David Rientjes Cc: Hugh Dickins Cc: [4.12+] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/mm/swapfile.c b/mm/swapfile.c index d483278ee35b..12251d386dc7 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -3290,7 +3290,7 @@ bad_swap: p->flags = 0; spin_unlock(&swap_lock); vfree(swap_map); - vfree(cluster_info); + kvfree(cluster_info); if (swap_file) { if (inode && S_ISREG(inode->i_mode)) { inode_unlock(inode);