xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 3 Dec 2009 15:31:57 +0000 (10:31 -0500)
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Fri, 4 Dec 2009 01:30:47 +0000 (17:30 -0800)
commitdf11303c90406426847255ba498607f15a472a0a
treeee94ab1ca2d1d607320990465367d9094cb3aa5c
parenta9b5ff99c34e3f6ca7ad7fa01deba2df1108465e
xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.

In Xen-paravirt mode, VM_IO flag signifies that the page frame number (PFN)
is actually a machine frame number (MFN). This is correct for memory backed by
PCI devices, but wrong for memory allocated from System RAM where the PFN
!= MFN.

During page faults, pages with VM_IO, get assigned to special domain I/O
domain and as said, the PFN is interpreted as MFN. When Xen hypervisor
modifies the PTE it interprets the PFN as the MFN, complains and
fails the PTE modification.

The end result is an infinitive page fault in the domain.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
drivers/video/xen-fbfront.c