KVM: kvm_clear_guest_page(): fix empty_zero_page usage
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 18 Nov 2013 09:35:55 +0000 (10:35 +0100)
committerGleb Natapov <gleb@redhat.com>
Thu, 21 Nov 2013 09:19:32 +0000 (11:19 +0200)
commit8a3caa6d74597c2a083f7c87f866891a0b12540b
treeee4cfd5a3787c0da3c8e84519ace12cc83461cf6
parent521ee0cfb876dd31ce4e0878e1163fe0817a7acc
KVM: kvm_clear_guest_page(): fix empty_zero_page usage

Using the address of 'empty_zero_page' as source address in order to
clear a page is wrong. On some architectures empty_zero_page is only the
pointer to the struct page of the empty_zero_page.  Therefore the clear
page operation would copy the contents of a couple of struct pages instead
of clearing a page.  For kvm only arm/arm64 are affected by this bug.

To fix this use the ZERO_PAGE macro instead which will return the struct
page address of the empty_zero_page on all architectures.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
virt/kvm/kvm_main.c