summaryrefslogtreecommitdiffstats
path: root/drivers/lguest/core.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2013-04-22 14:10:40 +0930
committerRusty Russell <rusty@rustcorp.com.au>2013-04-22 15:45:01 +0930
commit3412b6ae2924e068f9932f841bdea0f2d8424502 (patch)
tree75b499710ee82715c864d5787383ad35a9cd47bd /drivers/lguest/core.c
parentf1f394b1c33d93416c90f97e201d4d386c04af55 (diff)
lguest: don't share Switcher PTE pages between guests.
We currently use the whole top PGD entry for the switcher, so we simply share a fixed page of PTEs between all guests (actually, it's one per Host CPU, to ensure isolation between guests). Changes to a scheme where every guest has its own mappings. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/lguest/core.c')
-rw-r--r--drivers/lguest/core.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c
index b6c71c32308..7e1d7ee3647 100644
--- a/drivers/lguest/core.c
+++ b/drivers/lguest/core.c
@@ -333,15 +333,10 @@ static int __init init(void)
if (err)
goto out;
- /* Now we set up the pagetable implementation for the Guests. */
- err = init_pagetables(lg_switcher_pages);
- if (err)
- goto unmap;
-
/* We might need to reserve an interrupt vector. */
err = init_interrupts();
if (err)
- goto free_pgtables;
+ goto unmap;
/* /dev/lguest needs to be registered. */
err = lguest_device_init();
@@ -356,8 +351,6 @@ static int __init init(void)
free_interrupts:
free_interrupts();
-free_pgtables:
- free_pagetables();
unmap:
unmap_switcher();
out:
@@ -369,7 +362,6 @@ static void __exit fini(void)
{
lguest_device_remove();
free_interrupts();
- free_pagetables();
unmap_switcher();
lguest_arch_host_fini();