Skip to content

Commit

Permalink
xen/gnttab: leave lazy MMU mode in the case of a m2p override failure
Browse files Browse the repository at this point in the history
Commit f62805f introduced a bug where lazy MMU mode isn't exited if a
m2p_add/remove_override call fails.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Anthony Liguori <aliguori@amazon.com>
Cc: xen-devel@lists.xenproject.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Matt Wilson <msw@amazon.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: stable@vger.kernel.org
  • Loading branch information
Matt Wilson authored and Konrad Rzeszutek Wilk committed Nov 26, 2013
1 parent f9c7ec1 commit 14883a7
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/xen/grant-table.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,9 +930,10 @@ int gnttab_map_refs(struct gnttab_map_grant_ref *map_ops,
ret = m2p_add_override(mfn, pages[i], kmap_ops ?
&kmap_ops[i] : NULL);
if (ret)
return ret;
goto out;
}

out:
if (lazy)
arch_leave_lazy_mmu_mode();

Expand Down Expand Up @@ -969,9 +970,10 @@ int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops,
ret = m2p_remove_override(pages[i], kmap_ops ?
&kmap_ops[i] : NULL);
if (ret)
return ret;
goto out;
}

out:
if (lazy)
arch_leave_lazy_mmu_mode();

Expand Down

0 comments on commit 14883a7

Please sign in to comment.