virt: vbox: Use __get_free_pages instead of kmalloc for DMA32 memory
authorHans de Goede <hdegoede@redhat.com>
Wed, 18 Apr 2018 13:24:49 +0000 (15:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 11:41:55 +0000 (13:41 +0200)
commitfaf6a2a44164c0fb2c2a82692ab9051917514bce
treeb7ed81ebf85416b394564e24e2200aa751934358
parentf6f9885b0531163f72c7bf898a0ab1ba4c7d5de6
virt: vbox: Use __get_free_pages instead of kmalloc for DMA32 memory

It is not possible to get DMA32 zone memory through kmalloc, causing
the vboxguest driver to malfunction due to getting memory above
4G which the PCI device cannot handle.

This commit changes the kmalloc calls where the 4G limit matters to
using __get_free_pages() fixing vboxguest not working on x86_64 guests
with more then 4G RAM.

Cc: stable@vger.kernel.org
Reported-by: Eloy Coto Pereiro <eloy.coto@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virt/vboxguest/vboxguest_linux.c
drivers/virt/vboxguest/vboxguest_utils.c