mm/mmap.c: fix arithmetic overflow in __vm_enough_memory()
[linux-2.6-microblaze.git] / mm / interval_tree.c
index 8da581f..f2c2492 100644 (file)
@@ -21,8 +21,8 @@ static inline unsigned long vma_last_pgoff(struct vm_area_struct *v)
        return v->vm_pgoff + ((v->vm_end - v->vm_start) >> PAGE_SHIFT) - 1;
 }
 
-INTERVAL_TREE_DEFINE(struct vm_area_struct, shared.linear.rb,
-                    unsigned long, shared.linear.rb_subtree_last,
+INTERVAL_TREE_DEFINE(struct vm_area_struct, shared.rb,
+                    unsigned long, shared.rb_subtree_last,
                     vma_start_pgoff, vma_last_pgoff,, vma_interval_tree)
 
 /* Insert node immediately after prev in the interval tree */
@@ -36,26 +36,26 @@ void vma_interval_tree_insert_after(struct vm_area_struct *node,
 
        VM_BUG_ON_VMA(vma_start_pgoff(node) != vma_start_pgoff(prev), node);
 
-       if (!prev->shared.linear.rb.rb_right) {
+       if (!prev->shared.rb.rb_right) {
                parent = prev;
-               link = &prev->shared.linear.rb.rb_right;
+               link = &prev->shared.rb.rb_right;
        } else {
-               parent = rb_entry(prev->shared.linear.rb.rb_right,
-                                 struct vm_area_struct, shared.linear.rb);
-               if (parent->shared.linear.rb_subtree_last < last)
-                       parent->shared.linear.rb_subtree_last = last;
-               while (parent->shared.linear.rb.rb_left) {
-                       parent = rb_entry(parent->shared.linear.rb.rb_left,
-                               struct vm_area_struct, shared.linear.rb);
-                       if (parent->shared.linear.rb_subtree_last < last)
-                               parent->shared.linear.rb_subtree_last = last;
+               parent = rb_entry(prev->shared.rb.rb_right,
+                                 struct vm_area_struct, shared.rb);
+               if (parent->shared.rb_subtree_last < last)
+                       parent->shared.rb_subtree_last = last;
+               while (parent->shared.rb.rb_left) {
+                       parent = rb_entry(parent->shared.rb.rb_left,
+                               struct vm_area_struct, shared.rb);
+                       if (parent->shared.rb_subtree_last < last)
+                               parent->shared.rb_subtree_last = last;
                }
-               link = &parent->shared.linear.rb.rb_left;
+               link = &parent->shared.rb.rb_left;
        }
 
-       node->shared.linear.rb_subtree_last = last;
-       rb_link_node(&node->shared.linear.rb, &parent->shared.linear.rb, link);
-       rb_insert_augmented(&node->shared.linear.rb, root,
+       node->shared.rb_subtree_last = last;
+       rb_link_node(&node->shared.rb, &parent->shared.rb, link);
+       rb_insert_augmented(&node->shared.rb, root,
                            &vma_interval_tree_augment);
 }