mm/swapfile.c: fix swapon frontswap_map memory leak on error
authorDavid Rientjes <rientjes@google.com>
Fri, 8 Sep 2017 23:13:29 +0000 (16:13 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 9 Sep 2017 01:26:47 +0000 (18:26 -0700)
Free frontswap_map if an error is encountered before enable_swap_info().

Signed-off-by: David Rientjes <rientjes@google.com>
Reviewed-by: "Huang, Ying" <ying.huang@intel.com>
Cc: Darrick J. Wong <darrick.wong@oracle.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: <stable@vger.kernel.org> [4.12+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/swapfile.c

index 12251d386dc76b3ad8db17014086538f80ccf686..bf91dc9e7a791d38b28ab84f10b57892fc0af9dc 100644 (file)
@@ -3291,6 +3291,7 @@ bad_swap:
        spin_unlock(&swap_lock);
        vfree(swap_map);
        kvfree(cluster_info);
+       kvfree(frontswap_map);
        if (swap_file) {
                if (inode && S_ISREG(inode->i_mode)) {
                        inode_unlock(inode);