"Darrick J. Wong" <darrick.w...@oracle.com> writes: > 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. > > Signed-off-by: Darrick J. Wong <darrick.w...@oracle.com>
Thanks for fixing! Reviewed-by: "Huang, Ying" <ying.hu...@intel.com> Best Regards, Huang, Ying > --- > mm/swapfile.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 6ba4aab..c1deb01 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -3052,7 +3052,7 @@ SYSCALL_DEFINE2(swapon, const char __user *, > specialfile, int, swap_flags) > 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);