OpenXT/xenclient-oe — pull request #56 by rossphilipson (2014-12-31 17:59:17+00:00)
Title: [usbback|dom0] Use xenbus shared ring mapper functions.

The comment in the code sums up what the problem is but I will recap here.
The existing code was calling alloc_vm_area which update the page tables
for the init process (init_mm). If the process context is not init, the
current process will not have updated page tables. These tables would be
updated through normal #PF faults later. But, since the next call here is
a hypercall, there is not chance to update those table and the hypercall
fails when it cannot find the page through a PT lookup. Thus the error:

(XEN) mm.c:3889:d0 Could not find L1 PTE for address f8684000

Using the xenbus mapping with valloc and vfree handles this by passing
the PTEs to the hypercall.

OXT-69

Signed-off-by: Ross Philipson