hw/virtio/balloon: Replace TARGET_PAGE_SIZE with BALLOON_PAGE_SIZE
commit01310e2aa7ad87f101d56feb8c06898084c9b542
authorThomas Huth <thuth@redhat.com>
Thu, 14 Apr 2016 08:50:07 +0000 (14 10:50 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 14 Apr 2016 13:44:42 +0000 (14 16:44 +0300)
treeab7ec099d14f3209d276896a08d0d465f5f36882
parente7658fcc4c29a29c578acde26f7714023b93b46e
hw/virtio/balloon: Replace TARGET_PAGE_SIZE with BALLOON_PAGE_SIZE

The balloon code currently calls madvise() with TARGET_PAGE_SIZE as
length parameter. Since the virtio-balloon protocol is always based
on 4k pages, no matter what the host and guest are using as page size,
this could cause problems: If TARGET_PAGE_SIZE is bigger than 4k, the
madvise call also destroys the 4k areas after the current one - which
might be wrong since the guest did not want free that area yet (in
case the guest used as smaller MMU page size than the hard-coded
TARGET_PAGE_SIZE). So to fix this issue, introduce a proper define
called BALLOON_PAGE_SIZE (which is 4096) to use this as the size
parameter for the madvise() call instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/virtio-balloon.c