Merge branch 'master'
[pandora-kernel.git] / arch / um / kernel / skas / mmu.c
index 240143b..9e5e39c 100644 (file)
@@ -28,7 +28,6 @@ static int init_stub_pte(struct mm_struct *mm, unsigned long proc,
        pmd_t *pmd;
        pte_t *pte;
 
-       spin_lock(&mm->page_table_lock);
        pgd = pgd_offset(mm, proc);
        pud = pud_alloc(mm, pgd, proc);
        if (!pud)
@@ -63,7 +62,6 @@ static int init_stub_pte(struct mm_struct *mm, unsigned long proc,
        *pte = mk_pte(virt_to_page(kernel), __pgprot(_PAGE_PRESENT));
        *pte = pte_mkexec(*pte);
        *pte = pte_wrprotect(*pte);
-       spin_unlock(&mm->page_table_lock);
        return(0);
 
  out_pmd:
@@ -71,7 +69,6 @@ static int init_stub_pte(struct mm_struct *mm, unsigned long proc,
  out_pte:
        pmd_free(pmd);
  out:
-       spin_unlock(&mm->page_table_lock);
        return(-ENOMEM);
 }
 
@@ -147,6 +144,7 @@ void destroy_context_skas(struct mm_struct *mm)
 
        if(!proc_mm || !ptrace_faultinfo){
                free_page(mmu->id.stack);
+               pte_lock_deinit(virt_to_page(mmu->last_page_table));
                pte_free_kernel((pte_t *) mmu->last_page_table);
                 dec_page_state(nr_page_table_pages);
 #ifdef CONFIG_3_LEVEL_PGTABLES