patch-2.3.30 linux/mm/mmap.c
Next file: linux/mm/numa.c
Previous file: linux/mm/memory.c
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Mon Dec 6 14:47:51 1999
- Orig file:
v2.3.29/linux/mm/mmap.c
- Orig date:
Tue Nov 23 22:42:21 1999
diff -u --recursive --new-file v2.3.29/linux/mm/mmap.c linux/mm/mmap.c
@@ -160,8 +160,8 @@
#undef _trans
}
-unsigned long do_mmap(struct file * file, unsigned long addr, unsigned long len,
- unsigned long prot, unsigned long flags, unsigned long off)
+unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, unsigned long len,
+ unsigned long prot, unsigned long flags, unsigned long pgoff)
{
struct mm_struct * mm = current->mm;
struct vm_area_struct * vma;
@@ -176,15 +176,10 @@
if (len > TASK_SIZE || addr > TASK_SIZE-len)
return -EINVAL;
- if (off & ~PAGE_MASK)
- return -EINVAL;
-
/* offset overflow? */
- if (off + len < off)
+ if ((pgoff + (len >> PAGE_SHIFT)) < pgoff)
return -EINVAL;
- off = off >> PAGE_SHIFT;
-
/* Too many mappings? */
if (mm->map_count > MAX_MAP_COUNT)
return -ENOMEM;
@@ -274,7 +269,7 @@
vma->vm_flags |= VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC;
vma->vm_page_prot = protection_map[vma->vm_flags & 0x0f];
vma->vm_ops = NULL;
- vma->vm_pgoff = off;
+ vma->vm_pgoff = pgoff;
vma->vm_file = NULL;
vma->vm_private_data = NULL;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)