Merge to Fedora Core 2 kernel-2.6.8-1.521
[linux-2.6.git] / mm / memory.c
index 6bd9581..6c44ecc 100644 (file)
@@ -805,7 +805,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
                        pte_t *pte;
                        if (write) /* user gate pages are read-only */
                                return i ? : -EFAULT;
-                       pgd = pgd_offset(mm, pg);
+                       pgd = pgd_offset_gate(mm, pg);
                        if (!pgd)
                                return i ? : -EFAULT;
                        pmd = pmd_offset(pgd, pg);
@@ -1439,6 +1439,7 @@ static int do_swap_page(struct mm_struct * mm,
                /* Had to read the page from swap area: Major fault */
                ret = VM_FAULT_MAJOR;
                inc_page_state(pgmajfault);
+               grab_swap_token();
        }
 
        if (!vx_rsspages_avail(mm, 1)) {