mm balloon: umount balloon_mnt when removing vb device
authorYisheng Xie <[email protected]>
Fri, 24 Feb 2017 23:00:40 +0000 (15:00 -0800)
committerLinus Torvalds <[email protected]>
Sat, 25 Feb 2017 01:46:56 +0000 (17:46 -0800)
With CONFIG_BALLOON_COMPACTION=y the kernel will mount balloon_mnt for
balloon page migration when we probe a virtio_balloon device.  However
we do not unmount it when removing the device.  Fix this.

Fixes: b1123ea6d3b3 ("mm: balloon: use general non-lru movable page feature")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Yisheng Xie <[email protected]>
Acked-by: Minchan Kim <[email protected]>
Cc: Rafael Aquini <[email protected]>
Cc: Konstantin Khlebnikov <[email protected]>
Cc: Gioh Kim <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Michael S. Tsirkin <[email protected]>
Cc: Jason Wang <[email protected]>
Cc: Hanjun Guo <[email protected]>
Cc: Xishi Qiu <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/virtio/virtio_balloon.c

index 181793f078524ae8c06751d4b03677a132b4a7c3..9d2738e9217f104ec0702245a2d9b48500924cf6 100644 (file)
@@ -615,8 +615,12 @@ static void virtballoon_remove(struct virtio_device *vdev)
        cancel_work_sync(&vb->update_balloon_stats_work);
 
        remove_common(vb);
+#ifdef CONFIG_BALLOON_COMPACTION
        if (vb->vb_dev_info.inode)
                iput(vb->vb_dev_info.inode);
+
+       kern_unmount(balloon_mnt);
+#endif
        kfree(vb);
 }