Since pages have been deflated to a local list,
there is no race between fill and leak.

Signed-off-by: Liu Xiang <liu.xi...@zlingsmart.com>
---
 drivers/virtio/virtio_balloon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c
index 8985fc2ce..7da25b87f 100644
--- a/drivers/virtio/virtio_balloon.c
+++ b/drivers/virtio/virtio_balloon.c
@@ -303,8 +303,8 @@ static unsigned leak_balloon(struct virtio_balloon *vb, 
size_t num)
         */
        if (vb->num_pfns != 0)
                tell_host(vb, vb->deflate_vq);
-       release_pages_balloon(vb, &pages);
        mutex_unlock(&vb->balloon_lock);
+       release_pages_balloon(vb, &pages);
        return num_freed_pages;
 }
 
-- 
2.17.1

Reply via email to