xen/p2m/m2p/gnttab: do not add failed grant maps to m2p override
authorIan Campbell <ian.campbell@citrix.com>
Fri, 4 Mar 2011 17:38:21 +0000 (17:38 +0000)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 10 Mar 2011 00:59:10 +0000 (19:59 -0500)
commitdc4972a4e2f3fee1663bd0670dfc4cd798d5f9b2
treeef9c352dbe4b7db8fc11af2bd5e583f447b6f026
parentf4ee4af447b67135de7eb8a6615811c13ce938e2
xen/p2m/m2p/gnttab: do not add failed grant maps to m2p override

The caller will not undo a mapping which failed and therefore the
override will not be removed.

This is especially bad in the case of GNTMAP_contains_pte mapping type
mappings where m2p_add_override will destroy the kernel mapping of the
page.

This was observed via a failure of map_grant_pages in gntdev_mmap (due
to userspace using a bad grant reference), which left the page in
question unmapped (because it was a GNTMAP_contains_pte mapping) which
led to a crash later on.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/grant-table.c