Patch "balloon: check the number of available pages in leak balloon" has been added to the 4.7-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
balloon: check the number of available pages in leak balloon
to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
balloon-check-the-number-of-available-pages-in-leak-balloon.patch
and it can be found in the queue-4.7 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
37cf99e08c6fb4dcea0f9ad2b13b6daa8c76a711Mon Sep 17 00:00:00 2001
From: Konstantin Neumoin <[email protected]>
Date: Mon, 11 Jul 2016 15:28:59 +0300
Subject: balloon: check the number of available pages in leak balloon
From: Konstantin Neumoin <[email protected]>
commit 37cf99e08c6fb4dcea0f9ad2b13b6daa8c76a711 upstream.
The balloon has a special mechanism that is subscribed to the oom notification which leads to deflation for a fixed number of pages. The number is always fixed even when the balloon is fully deflated. But leak_balloon did not expect that the pages to deflate will be more than taken, and raise a "BUG" in balloon_page_dequeue when page list will be empty.
So, the simplest solution would be to check that the number of releases pages is less or equal to the number taken pages.
--- drivers/virtio/virtio_balloon.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/virtio/virtio_balloon.c +2 -0
@@ -202,6 +202,8 @@ static unsigned leak_balloon(struct virt num =min (num,ARRAY_SIZE (vb->pfns));mutex_lock (&vb->balloon_lock); +/* We can't release more pages than taken */ + num =min (num, (size_t )vb->num_pages);for (vb->num_pfns =0 ; vb->num_pfns < num; vb->num_pfns +=VIRTIO_BALLOON_PAGES_PER_PAGE ) { page =balloon_page_dequeue (vb_dev_info);
Patches currently in stable-queue which might be from [email protected] are
queue-4.7/balloon-check-the-number-of-available-pages-in-leak-balloon.patch