An error occurred while fetching folder content.
balloon: check the number of available pages in leak balloon
Konstantin Neumoin authored
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.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarKonstantin Neumoin <kneumoin@virtuozzo.com>
Signed-off-by: default avatarDenis V. Lunev <den@openvz.org>
CC: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
37cf99e0
Name Last commit Last update
..
accessibility printk: move braille console support into separate braille.[ch] files
acpi Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
amba ARM: 8566/1: drivers: amba: properly handle devices with power domains
android Merge 4.5-rc6 into staging-next
ata Merge branch 'for-4.7-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
atm atm: iphase: off by one in rx_pkt()
auxdisplay auxdisplay: ks0108: initialize local parport variable
base Merge tag 'driver-core-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
bcma x86/quirks: Add early quirk to reset Apple AirPort card
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block
bluetooth Bluetooth: Add USB ID 13D3:3487 to ath3k
bus Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
cdrom cdrom: don't open-code memdup_user()
char ipmi: Remove smi_msg from waiting_rcv_msgs list before handle_one_recv_msg()
clk clk: at91: fix clk_programmable_set_parent()
clocksource Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
connector connector: fix out-of-order cn_proc netlink message delivery
cpufreq cpufreq: Avoid false-positive WARN_ON()s in cpufreq_update_policy()
cpuidle cpuidle: Fix last_residency division
crypto crypto: qat - make qat_asym_algs.o depend on asn1 headers
dax /dev/dax, core: file operations and dax-mmap
dca dmaengine: ioatdma: constify dca_ops structures
devfreq PM / devfreq: Send the DEVFREQ_POSTCHANGE notification when target() is failed
dio m68k: don't export static inline functions
dma-buf dma-buf: use vma_pages()
dma
edac
eisa
extcon
firewire
firmware
fmc
fpga
gpio
gpu
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide
idle
iio
infiniband
input
iommu
ipack
irqchip
isdn
leds
lguest
lightnvm
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc
mmc
mtd
net
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390
sbus
scsi