summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/ck-sources/files/ck-sources-2.6.2.munmap.patch')
-rw-r--r--sys-kernel/ck-sources/files/ck-sources-2.6.2.munmap.patch53
1 files changed, 0 insertions, 53 deletions
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.2.munmap.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.2.munmap.patch
deleted file mode 100644
index 47a199c870db..000000000000
--- a/sys-kernel/ck-sources/files/ck-sources-2.6.2.munmap.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -Naur 2.6.2/mm/mremap.c 2.6.3/mm/mremap.c
---- 2.6.2/mm/mremap.c 2004-02-18 03:29:48.000000000 +0100
-+++ 2.6.3/mm/mremap.c 2004-02-18 10:21:20.000000000 +0100
-@@ -135,15 +135,17 @@
- dst = alloc_one_pte_map(mm, new_addr);
- if (src == NULL)
- src = get_one_pte_map_nested(mm, old_addr);
-- error = copy_one_pte(vma, old_addr, src, dst, &pte_chain);
-- pte_unmap_nested(src);
-- pte_unmap(dst);
-- } else
- /*
-- * Why do we need this flush ? If there is no pte for
-- * old_addr, then there must not be a pte for it as well.
-+ * Since alloc_one_pte_map can drop and re-acquire
-+ * page_table_lock, we should re-check the src entry...
- */
-- flush_tlb_page(vma, old_addr);
-+ if (src) {
-+ error = copy_one_pte(vma, old_addr, src,
-+ dst, &pte_chain);
-+ pte_unmap_nested(src);
-+ }
-+ pte_unmap(dst);
-+ }
- spin_unlock(&mm->page_table_lock);
- pte_chain_free(pte_chain);
- out:
-@@ -346,7 +348,9 @@
- if ((addr <= new_addr) && (addr+old_len) > new_addr)
- goto out;
-
-- do_munmap(current->mm, new_addr, new_len);
-+ ret = do_munmap(current->mm, new_addr, new_len);
-+ if (ret)
-+ goto out;
- }
-
- /*
-@@ -354,9 +358,11 @@
- * the unnecessary pages..
- * do_munmap does all the needed commit accounting
- */
-- ret = addr;
- if (old_len >= new_len) {
-- do_munmap(current->mm, addr+new_len, old_len - new_len);
-+ ret = do_munmap(current->mm, addr+new_len, old_len - new_len);
-+ if (ret && old_len != new_len)
-+ goto out;
-+ ret = addr;
- if (!(flags & MREMAP_FIXED) || (new_addr == addr))
- goto out;
- old_len = new_len;