[patch] 2.5 vm bugfix

Gerd Knorr (kraxel@bytesex.org)
Fri, 21 Mar 2003 16:18:27 +0100


Hi,

2.5.x kernels don't look at the VM_DONTEXPAND flag when merging
multiple vmas into one. Fix below.

Gerd

--- linux-2.5.65/mm/mmap.c 2003-03-21 13:03:28.377764776 +0100
+++ linux/mm/mmap.c 2003-03-21 13:09:52.981296152 +0100
@@ -379,6 +379,8 @@
can_vma_merge_before(struct vm_area_struct *vma, unsigned long vm_flags,
struct file *file, unsigned long vm_pgoff, unsigned long size)
{
+ if ((vma->vm_flags & VM_DONTEXPAND) || (vm_flags & VM_DONTEXPAND))
+ return 0;
if (vma->vm_file == file && vma->vm_flags == vm_flags) {
if (!file)
return 1; /* anon mapping */
@@ -396,6 +398,8 @@
can_vma_merge_after(struct vm_area_struct *vma, unsigned long vm_flags,
struct file *file, unsigned long vm_pgoff)
{
+ if ((vma->vm_flags & VM_DONTEXPAND) || (vm_flags & VM_DONTEXPAND))
+ return 0;
if (vma->vm_file == file && vma->vm_flags == vm_flags) {
unsigned long vma_size;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/