]> Git Repo - linux.git/commitdiff
xen/gnttab: leave lazy MMU mode in the case of a m2p override failure
authorMatt Wilson <[email protected]>
Wed, 20 Nov 2013 20:11:35 +0000 (12:11 -0800)
committerKonrad Rzeszutek Wilk <[email protected]>
Tue, 26 Nov 2013 18:20:52 +0000 (13:20 -0500)
Commit f62805f1 introduced a bug where lazy MMU mode isn't exited if a
m2p_add/remove_override call fails.

Acked-by: Stefano Stabellini <[email protected]>
Cc: Boris Ostrovsky <[email protected]>
Reviewed-by: David Vrabel <[email protected]>
Reviewed-by: Anthony Liguori <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Matt Wilson <[email protected]>
Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
CC: [email protected]
drivers/xen/grant-table.c

index 62ccf5424ba857e0fe11bb22187bb7dd5d3dad6c..028387192b608b04a9fd9483a9916404cb861f76 100644 (file)
@@ -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();
 
@@ -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();
 
This page took 0.061474 seconds and 4 git commands to generate.